javascript中xmlhttprequest对象

javascript中xmlhttprequest对象

ID:12589977

大小:53.50 KB

页数:8页

时间:2018-07-17

javascript中xmlhttprequest对象_第1页
javascript中xmlhttprequest对象_第2页
javascript中xmlhttprequest对象_第3页
javascript中xmlhttprequest对象_第4页
javascript中xmlhttprequest对象_第5页
资源描述:

《javascript中xmlhttprequest对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、XHR——XMLHttpRequest对象创建XMLHttpRequest对象与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest不但IE6及其之前的版本将XHR作为一个ActiveXObject运行,而且还存在众多版本:一开始是Microsoft.XMLHTTP之后变成Msxml2.XMLHTTP及更新版的Msxml3.XMLHTTPfunctionXHR(){varxhr;try{xhr=newXMLHttpReq

2、uest();}catch(e){varIEXHRVers=["Msxml3.XMLHTTP","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];for(vari=0,len=IEXHRVers.length;i

3、)xhr.open("get","test.txt",true);/*第一个参数是请求方式,一般用get与post方法,与form标签的method类似第二个参数是请求的URL第三个参数是请求是同步进行还是异步进行,true表示异步调用了open方法仅仅是传递了参数而已*/xhr.send(null);//调用了send方法后才会发出请求//并且get方式发送请求时send参数是null在服务器环境中执行上面的脚本,并且给一个php或asp脚本发送请求,会发现服务器端脚本其实会被执行//PHP脚本$fp=fopen("a.tx

4、t","wb");fwrite($fp,"PHP文件在后台执行了");fclose($fp);echo"返回内容!";上面PHP脚本的返回内容不会直接在页面上显示出来,必需要用JS通过XHR对象接收varxhr=XHR();xhr.open("get","test.php",true);xhr.onreadystatechange=callback;//在readystatechange事件上绑定一个函数//当接收到数据时,会调用readystatechange事件上的事件处理函数xhr.send(null);functonc

5、allback(){//在这里面没有使用this.readyState这是因为IE下面ActiveXObject的特殊性if(xhr.readyState==4){//readyState表示文档加载进度,4表示完毕alert(xhr.reponseText);//responseText属性用来取得返回的文本}}XHR对象参考readyState属性返回当前请求的状态·0(未初始化)对象已建立,但是尚未初始化(尚未调用open方法)·1(初始化)对象已建立,尚未调用send方法·2(发送数据)send方法已调用,但是当前的状

6、态及http头未知·3(数据传送中)已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误·4(完成)数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据varxhr=XHR();alert(xhr.readyState);//0xhr.open("get","test.htm",true);alert(xhr.readyState);//1xhr.send(null);alert(xhr.readyState);

7、//IE下会是4,而FF下会是2//可以通过readystatechange事件监听xhr=XHR();xhr.onreadystatechange=function(){alert(xhr.readyState);//FF下会依次是1,2,3,4但最后还会再来个1//IE下则是1,1,3,4};xhr.open("get","test.txt",true);xhr.send(null);从上面可以看到,对于readyState这个属性,各个浏览器看法也不一样,但其实我们只需要知道当状态为4的时候可以获取response就行了

8、!status返回当前请求的http状态码status属性返回当前请求的http状态码,此属性仅当数据发送并接收完毕后才可获取。完整的HTTP状态码如下:·100Continue初始的请求已经接受,客户应当继续发送请求的其余部分·101SwitchingProtocols服务

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。