Ajax 与 Comet

一、关键词:Javascript,XML,XMLHttpRequest

二、XMLHttpRequest

1、创建    var xhr = new XMLHttpRequest();

2、方法

同步请求     Javascript 代码会等到服务器响应之后再继续执行

xhr.open("get" , "example.php" , false);    三个参数分别为发送到请求的类型、请求的URL、是否异步发送请求

xhr.send("null");    方法接受一个参数,即要作为请求主题发送到数据

xhr,abort();     取消异步请求

在收到响应后,响应的数据会自动填充XHR对象的属性。

3、相关属性

responseText:响应主体的内容,非XML类型

responseXML:响应主体的内容,XML类型

status:响应的HTTP状态

statusText:HTTP状态的说明

                         

readyState:表示目前的请求/响应的活动阶段 

                         

 readyState值 含义
0    未初始化。尚未调用open()方法
1    启动。已经调用open(),尚未调用send()
2    发送。已经调用send(),但尚未收到响应
3    接收。已经收到部分响应数据
4    完成。已经接收到全部响应数据,而且已经可以在客户端使用

   只要readyState属性的值改变,就会触发一次readystatechange事件。注意,必须在调用open()之前指定onreadystatechange事件处理程序

才能确保跨浏览器的兼容性。

4、HTTP头部信息

方法:

setRequestHeader(”MyHeader“,”MyValue“);必须在open()方法调用之后,send()方法调用之前。

getResponseHeader("MyHeader");


三、XMLHttpRequest 2级

1、FormData

var form = document.getElementById("user-info");

xhr.send(new FormData(form));

2、超时设定

xhr.timeout = 1000;

xhr.ontimeout = function(){};

3、进度事件

load事件:响应接收完毕后触发该事件

progress事件:会在浏览器接收新数据期间周期性地触发

四、跨源资源共享

1、默认情况下,XHR对象只能访问与包含它的页面位于同一个域中的资源。CORS(Cross-Origin Resource Sharing)定义了

必须访问跨源资源时,浏览器与服务器如何沟通。基本思想是使用自定义的HTTP头部让浏览器与服务器进行沟通。

发送请求,加入 Origin头部;服务器返回时,加入Access-Control-Allow-Origin头部。

2、图像Ping

3、JSONP(JSON with padding,参数式JSON)是被包含在函数调用中断JSONP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章