ajax发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)
在前端工作中,經常會用到ajax,其實很多人只知道ajax是異步請求,不知道應該如何用它,它的基本步驟有哪些,ajax請求過程是怎樣的?接下來這篇文章就給大家介紹Ajax的請求步驟,以及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
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发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel token ajax,L
- 下一篇: jquery ajax设置头部,jQue