XMLHttpRequest对象
1.XMLHttpRequset对象创建
Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地Javascript对象。由于存在这些差异,Javascript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地Javascript对象技术来创建XMLHttpRequest的一个实例。
var xmlHttp; function createXMLHttpRequest() { if(window.ActiveXObject) //判断是不是IE浏览器 { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//为ActiveXObject构造函数传递一个Microsoft.XMLHTTP字符串说明要创建一个XMLHttpRequset对象
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest;
}
}
2.XMLHttpRequset对象的使用
1.为得到XMLHttpRequset对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequset实例的一个变量。
2.告诉XMLHttpRequset对象,哪个函数会处理XMLHttpRequset对象状态的改变,为此要把对象的onreadystatechange属性设置为指向javascript函数的指针。
3.指定请求的属性。XMLHttpRequset对象的open()方法会指定将要发出的请求。open()方法取3个参数:一个指示所用方法(通常是GET或POST)的串;一个是表示目标资源URL的串;一个是Boolean值,指示请求是否是异步的。
4.将请求发送给服务器。XMLHttpRequset对象的Send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或是一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向Send()方法提供参数时,要确保open()中指定的方法时POST。如果没有数据作为请求体的一部分被发送,则使用null。
3.XMLHttpRequset实例
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>简单的Ajax XMLHttpRequset对象使用</title> <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTp"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function startRequest() { createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("GET", "SimpleRespnse.xml", true); xmlHttp.send(null); } function handleStateChange() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { alert("The server replied with:" + xmlHttp.responseText); } } } </script> </head> <body> <form accept="#"> <input type="button" value="开始异步请求" onclick="startRequest();" /> </form> </body> </html>
SimpleRespnse.xml内容如下:
<?xml version="1.0" encoding="utf-8" ?> <PIS> Welcome to Ajax </PIS>
运行结果截图: