冯泽威的博客通过本文主要向大家介绍了xmlhttprequest等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度XMLHttpRequest对象则是其中的重重之中。这篇博客重点总结一下这个对象的使用。当然还是按照经典的五步法来学习,以后在实践中有更多更好的想法,会拿出来分享的!
创建XMLHttpRuquest对象
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;i<activeName.length;i++){
try{
xmlhttprequest=new ActiveXObject(activeName[i]);
break;
}catch(e){
}
}
}
if(xmlhttprequest==undefined || xmlhttprequest==null){
alert("XMLHttpRequest对象创建失败!!");
}else{
this.xmlhttp=xmlhttprequest;
}
注册回调方法
<span style="font-size:18px;">xmlhttp.onreadystatechange=callback;</span>
设置和服务器交互的相应参数
<span style="font-size:18px;"> xmlhttp.open("GET","ajax?name=" +userName,true);</span>
设置向服务器端发送的数据,启动和服务器端的交互
<span style="font-size:18px;"> xmlhttp.send(null);</span>
判断服务器端的交互是否完成,判断服务器端是否返回正确的数据
<span style="font-size:18px;">//根基实际条件写callback的功能代码
function callback(){
if(xmlhttp.readState==4){
//表示服务器的相应代码是200;正确返回了数据
if(xmlhttp.status==200){
//纯文本数据的接受方法
var message=xmlhttp.responseText;
//使用的前提是,服务器端需要设置content-type为text/xml
//var domXml=xmlhttp.responseXML;
//其它代码
}
}
}
</span>