zoukankan      html  css  js  c++  java
  • 21AJax与Comet

    Ajax(Asynchronous JavaScript+XML)能够向服务器请求额外的数据而无须卸载页面,会带来更好的用户体验。Ajax技术的核心是XMLHttpRequest对象(简称XHR)。

    21.1XMLHttpRequest对象

    IE中可能会遇到三种不同版本的XHR对象,即MSXML2.XMLHttp、MSXML2.XMLHttp.3.0和MXSML2.XMLHttp.6.0

    XHR的用法

    要调用的第一个方法是open(),接收3个参数:要发送的请求的类型(“get”、“post”等)、请求的URL和表示是否异步发送请求的布尔值。send()方法接收一个参数,即要作为请求主体发送的数据。建议通过检测states来决定下一步的操作,不要依赖statusText。只要readyState属性的值由一个值变为另一个值,都会触发一次readystatechange事件。在接收到相应之前还可以调用absort()方法来取消异步请求。

    HTTP头部信息

    使用setRequestHeader()方法可以设置自定义的请求头部信息。要成功发送请求头部信息,必须在调用open()方法之后且调用send()方法之前调用setRequestHeader()。

    GET请求

    GET是最常见的请求类型,最常用于向服务器查询某些信息。查询字符串中每个参数的名称和值都必须使用encodeURIComponent()进行编码,然后才能放到URL的末尾。

    POST请求

    POST请求通常用于向服务器发送应该被保存的数据。

    21.2XMLHttpRequest2级

    FormData:FormData为序列化表单以及创建于表单格式相同的数据(用于通过XHR传输)提供了便利

    超时设定:timeout属性表示请求在等待相应多少毫秒之后就终止,如果在规定时间内浏览器没有接受到响应,就会触发timeout时间,进而调用ontimeout事件处理程序。

    overrideMimeType()方法:用于重写XHR相应的MIME类型。

    21.3进度事件

    有6个进度事件:loadstart、progress、error、abort、load和loaded

    21.4跨源资源共享

    CORS(Cross-Orign Resource Sharing)的基本思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或相应是应该成功还是失败。

    IE对CORS的实现

    引入了XDR类型,能实现安全可靠的跨域通信。XDR的使用方法:创建一个XDomainRequest的实例,调用open()方法(接收两个参数:请求的类型和URL),在调用send()方法。

    其他浏览器对CORS的实现

    通过XMLHttpRequest对象实现对CORS的原生支持。

    Preflighted Reqeusts

    叫做Preflighted Reqeusts的透明服务器验证机制支持开发人员使用自定义的头部、GET或POST之外的方法,以及不同类型的主体内容。

    带凭证的请求:通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据。

    跨浏览器的CORS

  • 相关阅读:
    spring websocket 记录
    mysql-enum
    再问jvm内存管理
    video相关参数、操作和事件
    监听页面关闭和刷新的总结
    VUE路由新页面打开的方法总结
    VUE的一个数据绑定与页面刷新相关的bug
    element-ui笔记
    Vue笔记(props和 mounted)
    Python总结(二)
  • 原文地址:https://www.cnblogs.com/dingzibetter/p/6435220.html
Copyright © 2011-2022 走看看