AJAX XMLxmlHttpuest 对象

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


XMLxmlHttpuest 对象@H_502_5@

AJAX 的要点是 XMLxmlHttpuest 对象。 @H_502_5@

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

(1)定义XMLxmlHttpuest 对象实例@H_502_5@

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

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

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

(1)实例化XMLxmlHttpuest 对象@H_502_5@

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

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

XMLHttpRequestxmlHttp=new XMLHttpRequest(); }@H_502_5@

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

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

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

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

return false; } } } @H_502_5@

(2)建立连接@H_502_5@

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

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

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

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

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


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

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

xmlHttp.onreadystatechange=response;@H_502_5@

function response(){@H_502_5@

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

readyState属性值:@H_502_5@

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

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

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

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

} @H_502_5@

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

xmlHttp.send(null);@H_502_5@

一个完整的通信为:@H_502_5@

XMLHttpRequestxmlHttp=new XMLHttpRequest(); @H_502_5@

xmlHttp.open(); 建立连接@H_502_5@

xmlHttp.onreadystatechange=response; 绑定onreadystatechange事件@H_502_5@

xmlHttp.send(null); 发送请求@H_502_5@

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

猜你在找的Ajax相关文章