深入理解ajax异步请求的五个步骤(详细代码)
AJAX(Asynchronous JavaScript and XML):是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这就意味着可以在不重新加载整个网页的情况下,对网页的局部进行更新。
1.建立xmlHttpRequest对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpRequest 对象,而IE5 和 IE6 使用 的是ActiveXObject。
if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); if(xmlHttp.overrideMimeType){ xmlHttp.overrideMimeType("text/xml"); } }else if(window.ActiveXobject){ var activeName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"]; for(var i=0; i<activeName.length; i++){ try{ xmlHttp = new ActiveXobject(activeName[i]); break; }catch(e){ } } } if(!xmlHttp){ alert("创建xmlhttprequest对象失败"); }else{ }
2.设置回调函数
xmlHttp.onreadystatechange= callback; function callback(){}
3.使用OPEN方法与服务器建立连接 xmlHttp.open("get","ajax?name="+ name,true)
此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
4.向服务器端发送数据
xmlHttp.send(null);
如果是POST方式就不为空
5.在回调函数中针对不同的响应状态进行处理
if(xmlHttp.readyState == 4){ //判断交互是否成功 if(xmlHttp.status == 200){ //获取服务器返回的数据 //获取纯文本数据 var responseText =xmlHttp.responseText; document.getElementById("info").innerHTML = responseText; } }
readyState属性:表示请求/响应过程的当前阶段
0:未初始化。尚未调用 open()方法。
1:启动。已经调用 open()方法,但尚未调用 send()方法。
2:发送。已经调用 send()方法,但尚未接收到响应。
3:接收。已经接收到部分响应数据。
4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。
只有在XMLHttpRequest对象完成了以上5个步骤之后,才可以获取从服务器端返回的数据。
status属性:响应的 HTTP 状态码
200:响应成功
301:永久重定向/永久转移
302:临时重定向/临时转移
304:本次获取内容是读取缓存中的数据
400:请求参数错误
401:无权限访问
404:访问的资源不存在
总结:以上介绍了Ajax请求的五个步骤以及详细代码 ,没有接触过得朋友可能看起来比较困难,没关系,看了以后,多去动手敲敲,慢慢就懂了,希望可以帮助到你!
以上就是深入理解ajax异步请求的五个步骤(详细代码)的详细内容,更多请关注其它相关文章!