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

  • 相关阅读:
    [BTS] BizTalk WCF-SQL Adapter 高级应用
    [BTS] BizTalk EDI character set and separator settings
    [ThingWorx] Install Guideline
    [ThingWorx] Install PostgreSQL Issue
    [BTS] BizTalk EDI AS2 Error 1
    [BTS] BizTalk With EF
    [BTS] Exception occurred when persisting state to the database
    [BTS] MSDTC
    [BTS] The value "" for the property InboundId is invalid
    [Android] Android Sutdio on Surface Pro 3
  • 原文地址:https://www.cnblogs.com/dingzibetter/p/6435220.html
Copyright © 2011-2022 走看看