Ajax中有关readyState(状态值)和status(状态码)的问题
var getXmlHttpRequest=function(){
try{
//主流瀏覽器提供了XMLHttpRequest對象
return new XMLHttpRequest();
}catch(e){
//低版本的IE瀏覽器沒有提供XMLHttpRequest對象,IE6以下,所以必須使用IE瀏覽器的特定實現ActiveXObject
return new ActiveXObject("Microsoft.XMLHTTP");
}
};
var xhr=getXmlHttpRequest();
//readyState 0=>初始化 1=>載入 2=>載入完成 3=>解析 4=>完成
xhr.open("type","url",true);
xhr.send();
xhr.onreadystatechange=function(){
//console.log(xhr.status);//HTTP狀態碼
//console.log(xhr.readyState);
if(xhr.readyState===4 && xhr.status===200){
alert(xhr.responseText);
}
};
1.Ajax:readyState(狀態值)和status(狀態碼)的區別
readyState,是指運行AJAX所經過的幾種狀態,無論訪問是否成功都將響應的步驟,可以理解成AJAX運行步驟,使用“ajax.readyState”獲得
status,是指無論AJAX訪問是否成功,由HTTP協議根據所提交的信息,服務器返回的HTTP頭信息代碼,使用“ajax.status”獲得
2.什么是readyState
readyState是XMLHttpRequest對象的一個屬性,用來標識當前XMLHttpRequest對象處于什么狀態。
readyState總共有5個狀態值,分別為0~4,每個值代表了不同的含義
0:初始化,XMLHttpRequest對象還沒有完成初始化
1:載入,XMLHttpRequest對象開始發送請求
2:載入完成,XMLHttpRequest對象的請求發送完成
3:解析,XMLHttpRequest對象開始讀取服務器的響應
4:完成,XMLHttpRequest對象讀取服務器響應結束
3.什么是status
status是XMLHttpRequest對象的一個屬性,表示響應的HTTP狀態碼
在HTTP1.1協議下,HTTP狀態碼總共可分為5大類
①:信息響應類,表示接收到請求并且繼續處理
②:處理成功響應類,表示動作被成功接收、理解和接受
③:重定向響應類,為了完成指定的動作,必須接受進一步處理
④:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行
⑤:服務端錯誤,服務器不能正確執行一個正確的請求
status常見狀態碼
200——交易成功
404——沒有發現文件、查詢或URL
500——服務器產生內部錯誤
轉載于:https://www.cnblogs.com/yjingjing/p/7008953.html
總結
以上是生活随笔為你收集整理的Ajax中有关readyState(状态值)和status(状态码)的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: perl怎么拷贝一个文件到另一个文件夹中
- 下一篇: 文件上传下载及注解