XMLHttpRequest对象详解.doc
文本预览下载声明
? AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架。而,XMLHttpRequest对象则是其中的重重之中。这篇博客重点总结一下这个对象的使用。当然还是按照经典的五步法来学习,以后在实践中有更多更好的想法,会拿出来分享的!
? ? ? ? ? ?首先,需要先了解这个对象的属性和方法:
属性 说明 readyState 表示XMLHttpRequest对象的状态:0:未初始化。对象已创建,未调用open;
1:open方法成功调用,但Sendf方法未调用;
2:send方法已经调用,尚未开始接受数据;
3:正在接受数据。Http响应头信息已经接受,但尚未接收完成;
4:完成,即响应数据接受完成。 Onreadystatechange 请求状态改变的事件触发器(readyState变化时会调用这个属性上注册的javascript函数)。 responseText 服务器响应的文本内容 responseXML 服务器响应的XML内容对应的DOM对象 Status 服务器返回的http状态码。200表示“成功”,404表示“未找到”,500表示“服务器内部错误”等。 statusText 服务器返回状态的文本信息。
方法 说明 Open(string method,string url,boolean asynch,
String username,string password) 指定和服务器端交互的HTTP方法,URL地址,即其他请求信息;
Method:表示http请求方法,一般使用GET,POST.
url:表示请求的服务器的地址;
asynch:表示是否采用异步方法,true为异步,false为同步;
后边两个可以不指定,username和password分别表示用户名和密码,提供http认证机制需要的用户名和密码。 Send(content) 向服务器发出请求,如果采用异步方式,该方法会立即返回。
content可以指定为null表示不发送数据,其内容可以是DOM对象,输入流或字符串。 SetRequestHeader(String header,String Value) 设置HTTP请求中的指定头部header的值为value.
此方法需在open方法以后调用,一般在post方式中使用。 getAllResponseHeaders() 返回包含Http的所有响应头信息,其中相应头包括Content-length,date,uri等内容。
返回值是一个字符串,包含所有头信息,其中每个键名和键值用冒号分开,每一组键之间用CR和LF(回车加换行符)来分隔! getResponseHeader(String header) 返回HTTP响应头中指定的键名header对应的值 Abort() 停止当前http请求。对应的XMLHttpRequest对象会复位到未初始化的状态。
? ? ? ? ??对这个对象有了静态了了解,知道它长的什么样子,有什么功能了,下边该我们使用它了,当然这里我也用五步法写出代码来:
第一步:创建XMLHttpRuquest对象:
[javascript] view plaincopyprint?
var?xmlhttprequest;??
???if(window.XMLHttpRequest){??
???????xmlhttprequest=new?XMLHttpRequest();??
???????if(xmlhttprequest.overrideMimeType){??
???????????xmlhttprequest.overrideMimeType(text/xml);??
???????}??
???}else?if(window.ActiveXObject){??
???????var?activeName=[MSXML2.XMLHTTP,Microsoft.XMLHTTP];??
???????for(var?i=0;iactiveName.length;i++){??
???????????try{??
???????????????xmlhttprequest=new?ActiveXObject(activeName[i]);??
???????????????break;??
???????????}catch(e){??
????????????????????????
???????????}??
???????}??
???}??
?????
???if(xmlhttprequest==undefined?
显示全部