AJAX XMLxmlHttpuest 对象

前端之家收集整理的这篇文章主要介绍了AJAX XMLxmlHttpuest 对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


XMLxmlHttpuest 对象

AJAX 的要点是 XMLxmlHttpuest 对象。

使用XMLxmlHttpuest 对象对象实现异步通信一般需要以下几个步骤:

(1)定义XMLxmlHttpuest 对象实例

(2)调用open()方法建立与服务器的连接

(3)注册onreadystatechange事件处理函数,以便接收和处理从服务器端响应的信息

(4)调用send()方法发送请求

(1)实例化XMLxmlHttpuest 对象

不同的浏览器创建 XMLxmlHttpuest 对象的方法是有差异的。 IE 浏览器使用 ActiveXObject,而其他的浏览器使用名为 XMLxmlHttpuest 的 JavaScript 内建对象。

try{
// Firefox,Opera 8.0+,Safari等非IE浏览器

XMLHttpRequestxmlHttp=new XMLHttpRequest(); }

catch (e){
// Internet Explorer IE浏览器

try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }

catch (e){ try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}

catch (e){
alert("您的浏览器不支持AJAX!");

return false; } } }

(2)建立连接

定义了XMLHttpRequest对象后,调用open()方法可以建立异步连接:

xmlHttp.open(method,url,async,user,password)

method:请求的方式GET/POST/PUT/PROPFIND一般都使用(GET/POST) ②打开请求,装载数据
url:即请求的地址,可以为绝对地址,也可以为相对地址
async:为可选项,设置是否为异步通信(true or false)

user和password表示请求的服务器需要进行验证

例如:xmlHttp.open("GET","test.asp","true");


xmlHttp.open("GET",true);
xmlHttp.onreadystatechange=dowork;(dowork是一个JS)
xmlHttp.send(null);

(3)绑定onreadystatechange时间处理函数

xmlHttp.onreadystatechange=response;

function response(){

////可通过xmlHttp.readyState属性值跟踪通信状态或xmlhttp.responseBody,responseStream,responseText,responseXML等属性来存储服务器端不同的响应信息

readyState属性值:

0:请求未初始化(还没有调用 open())。
1:请求已经建立,但是还没有发送(还没有调用 send())

2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。

3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成

4:响应已完成;您可以获取并使用服务器的响应了

}

(4)通过send()方法来发送请求

xmlHttp.send(null);

一个完整的通信为:

XMLHttpRequestxmlHttp=new XMLHttpRequest();

xmlHttp.open(); 建立连接

xmlHttp.onreadystatechange=response; 绑定onreadystatechange事件

xmlHttp.send(null); 发送请求

alert(xmlHttp.response.responseText);//提示服务器端相应信息

猜你在找的Ajax相关文章