婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題

探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題

熱門標簽:云呼外撥網絡電話系統 硅語電話機器人公司 ai機器人電銷資源 騰訊地圖標注位置能用多久 超級大富翁地圖標注 個人怎樣在百度地圖標注地名 越南河內地圖標注 地圖標注項目怎么樣 機器人電銷騙局揭秘

先看下面一段代碼,然后給大家詳細介紹,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=>完成
// console.log(xhr.readyState); 0
xhr.open("TYPE", "URL", true);
// console.log(xhr.readyState); 1
xhr.send();
// console.log(xhr.readyState); 1
xhr.onreadystatechange = function () {
// console.log(xhr.status); //HTTP狀態嗎
// console.log(xhr.readyState); 2 3 4
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”獲得
總體理解:可以簡單的理解為state代表一個整體的狀態。而status是這個大的state下面具體的小的狀態。

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大類

1xx:信息響應類,表示接收到請求并且繼續處理

2xx:處理成功響應類,表示動作被成功接收、理解和接受

3xx:重定向響應類,為了完成指定的動作,必須接受進一步處理

4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行

5xx:服務端錯誤,服務器不能正確執行一個正確的請求

100——客戶必須繼續發出請求

101——客戶要求服務器根據請求轉換HTTP協議版本

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請求收到,但返回信息為空

205——服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件

206——服務器已經完成了部分用戶的GET請求

300——請求的資源可在多處得到

301——刪除請求數據

302——在其他地址發現了請求數據

303——建議客戶訪問其他URL或訪問方式

304——客戶端已經執行了GET,但文件未變化

305——請求的資源必須從服務器指定的地址得到

306——前一版本HTTP中使用的代碼,現行版本中不再使用

307——申明請求的資源臨時性刪除

400——錯誤請求,如語法錯誤

401——請求授權失敗

402——保留有效ChargeTo頭響應

403——請求不允許

404——沒有發現文件、查詢或URl

405——用戶在Request-Line字段定義的方法不允許

406——根據用戶發送的Accept拖,請求資源不可訪問

407——類似401,用戶必須首先在代理服務器上得到授權

408——客戶端沒有在用戶指定的餓時間內完成請求

409——對當前資源狀態,請求不能完成

410——服務器上不再有此資源且無進一步的參考地址

411——服務器拒絕用戶定義的Content-Length屬性請求

412——一個或多個請求頭字段在當前請求中錯誤

413——請求的資源大于服務器允許的大小

414——請求的資源URL長于服務器允許的長度

415——請求資源不支持請求項目格式

416——請求中包含Range請求頭字段,在當前請求資源范圍內沒有range指示值,請求也不包含If-Range請求頭字段

417——服務器不滿足請求Expect頭字段指定的期望值,如果是代理服務器,可能是下一級服務器不能滿足請求

500——服務器產生內部錯誤

501——服務器不支持請求的函數

502——服務器暫時不可用,有時是為了防止發生系統過載

503——服務器過載或暫停維修

504——關口過載,服務器使用另一個關口或服務來響應用戶,等待時間設定值較長

505——服務器不支持或拒絕支請求頭中指定的HTTP版本

4.思考問題:為什么onreadystatechange的函數實現要同時判斷readyState和status呢?

第一種思考方式:只使用readyState

var getXmlHttpRequest = function () {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
};
var xhr = getXmlHttpRequest();
xhr.open("get", "1.txt", true);
xhr.send();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
alert(xhr.responseText);
}
};

服務響應出錯了,但還是返回了信息,這并不是我們想要的結果

如果返回不是200,而是404或者500,由于只使用readystate做判斷,它不理會放回的結果是200、404還是500,只要響應成功返回了,就執行接下來的javascript代碼,結果將造成各種不可預料的錯誤。所以只使用readyState判斷是行不通的。

第二種思考方式:只使用status判斷

var getXmlHttpRequest = function () {
try{
return new XMLHttpRequest();
}catch(e){
return new ActiveXObject("Microsoft.XMLHTTP");
}
};
var xhr = getXmlHttpRequest();
xhr.open("get", "1.txt", true);
xhr.send();
xhr.onreadystatechange = function () {
if (xhr.status === 200) {
alert("readyState=" + xhr.readyState + xhr.responseText);
}
};

事實上,結果卻不像預期那樣。響應碼確實是返回了200,但是總共彈出了3次窗口!第一次是“readyState=2”的窗口,第二次是“readyState=3”的窗口,第三次是“readyState=4”的窗口。由此,可見onreadystatechange函數的執行不是只在readyState變為4的時候觸發的,而是readyState(2、3、4)的每次變化都會觸發,所以就出現了前面說的那種情況。可見,單獨使用status判斷也是行不通的。

5.由上面的試驗,我們可以知道判斷的時候readyState和status缺一不可。那么readyState和status的先后判斷順序會不會有影響呢?我們可以將status調到前面先判斷,代碼如 xhr.status === 200 xhr.readyState === 4

事實上,這對于最終的結果是沒有影響的,但是中間的性能就不同了。由試驗我們知道,readyState的每次變化都會觸發onreadystatechange函數,假如先判斷status,那么每次都會多判斷一次status的狀態。雖然性能上影響甚微,不過還是應該抱著追求極致代碼的想法,把readyState的判斷放在前面。

xhr.readyState === 4  xhr.status === 200

以上所述是小編給大家介紹的 探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • jQuery AJAX中readyState與status的區別與聯系
  • jQuery Ajax的readyState和status的區別和使用詳解

標簽:林芝 鄭州 海南 遼源 舟山 洛陽 內蒙古 邢臺

巨人網絡通訊聲明:本文標題《探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題》,本文關鍵詞  探討,Ajax,中,有關,readyState,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題》相關的同類信息!
  • 本頁收集關于探討Ajax中有關readyState(狀態值)和status(狀態碼)的問題的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产丶欧美丶日本不卡视频| 8v天堂国产在线一区二区| 91久久一区二区| 久久天天做天天爱综合色| 中文字幕一区二区三区四区不卡| 青青草国产成人av片免费| 色悠悠久久综合| 国产日产亚洲精品系列| 日本在线不卡视频一二三区| 在线亚洲一区二区| 亚洲欧美日韩在线| 成人爽a毛片一区二区免费| 久久久久久久久久久久久久久99| 日韩av不卡一区二区| 欧美色图片你懂的| 亚洲一区二区视频在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 国产蜜臀av在线一区二区三区| 久久精品999| 欧美电视剧在线看免费| 舔着乳尖日韩一区| 欧美日韩视频在线观看一区二区三区 | 亚洲美女一区二区三区| 成人激情小说网站| 国产欧美日韩卡一| 国产精品亚洲а∨天堂免在线| 精品久久国产字幕高潮| 久久超级碰视频| 精品国产精品一区二区夜夜嗨| 日产精品久久久久久久性色| 91精品国产综合久久婷婷香蕉 | 午夜视频在线观看一区| 欧洲一区在线观看| 五月激情综合网| 日韩一级二级三级精品视频| 蜜桃av一区二区三区| 日韩欧美中文一区二区| 久久精品久久精品| 久久精品一区二区三区四区| 粉嫩av一区二区三区粉嫩| 亚洲视频一区二区免费在线观看| 99国产精品久久久久| 一区二区高清在线| 欧美一区二区三区视频在线 | 奇米888四色在线精品| 日韩女同互慰一区二区| 国产综合色在线视频区| 欧美激情一区在线观看| 91福利在线免费观看| 同产精品九九九| 欧美va亚洲va在线观看蝴蝶网| 国产成人夜色高潮福利影视| 国产精品二三区| 欧美裸体一区二区三区| 精品在线一区二区| 亚洲啪啪综合av一区二区三区| 欧美在线高清视频| 国产一区二区看久久| 国产精品二区一区二区aⅴ污介绍| 欧美伊人久久久久久午夜久久久久| 水蜜桃久久夜色精品一区的特点| 久久色在线观看| 色婷婷av一区二区| 狠狠狠色丁香婷婷综合久久五月| 欧美激情在线观看视频免费| 欧美精品三级日韩久久| 国产91精品入口| 五月激情六月综合| 成人免费在线视频观看| 日韩美女一区二区三区| 一本一道久久a久久精品综合蜜臀| 久久精品999| 亚洲午夜在线观看视频在线| 欧美激情中文字幕一区二区| 欧美浪妇xxxx高跟鞋交| 97精品国产露脸对白| 另类成人小视频在线| 亚洲一二三四区不卡| 国产精品嫩草影院com| 欧美日韩国产高清一区二区三区| 成人爽a毛片一区二区免费| 日韩影院在线观看| 亚洲国产综合色| 国产精品二三区| 国产欧美日韩激情| 欧美大片一区二区| 欧美日韩在线电影| 在线观看日韩国产| 99精品国产91久久久久久| 国内精品久久久久影院薰衣草| 午夜影院久久久| 亚洲最色的网站| 综合在线观看色| 国产欧美日本一区视频| 日韩午夜在线观看| 91精品国产综合久久精品app| 色综合久久六月婷婷中文字幕| 国产成人综合亚洲网站| 国产精品夜夜嗨| 国产在线看一区| 国产专区综合网| 欧美日韩精品一区视频| 91一区二区在线| 不卡av电影在线播放| 国产盗摄精品一区二区三区在线| 国产一区二区美女诱惑| 国产乱码精品一品二品| 国产美女娇喘av呻吟久久| 国产乱码精品一区二区三| 国产一区二区三区在线看麻豆 | 免费在线观看一区| 视频一区欧美精品| 日本最新不卡在线| 韩国三级电影一区二区| 激情综合亚洲精品| 国产成人精品免费在线| 成人免费观看男女羞羞视频| 99久久久久久| 色偷偷久久一区二区三区| 在线视频你懂得一区二区三区| 91豆麻精品91久久久久久| 欧美老女人在线| 精品成人免费观看| 国产欧美精品一区二区色综合| 国产精品美女久久久久aⅴ | 亚洲人成在线观看一区二区| 亚洲人成伊人成综合网小说| 亚洲制服丝袜av| 日本成人在线网站| 国产精华液一区二区三区| 成人av网址在线观看| 欧洲精品一区二区三区在线观看| 在线成人免费观看| 久久精品欧美日韩| 一区二区在线电影| 免费久久99精品国产| 成人深夜视频在线观看| 欧美影院一区二区三区| 精品国产91洋老外米糕| 一区二区中文视频| 蜜臀精品一区二区三区在线观看| 国产一区欧美一区| 欧洲精品一区二区三区在线观看| 日韩三级.com| 亚洲日穴在线视频| 青青青伊人色综合久久| 99久久精品国产精品久久| 欧美一区二区视频网站| 欧美激情资源网| 奇米四色…亚洲| 91在线免费看| 精品黑人一区二区三区久久| 亚洲丝袜自拍清纯另类| 乱中年女人伦av一区二区| 色香蕉久久蜜桃| 国产欧美精品一区二区三区四区| 无码av免费一区二区三区试看| 懂色av一区二区在线播放| 日韩欧美在线网站| 亚洲激情在线激情| 粉嫩高潮美女一区二区三区| 91精品国产综合久久久久久漫画 | 国产精品欧美极品| 麻豆免费精品视频| 欧美中文字幕不卡| 国产精品国产成人国产三级| 狠狠色综合日日| 欧美一区二区性放荡片| 亚洲三级电影网站| 成人网男人的天堂| 久久久久久久久一| 国内偷窥港台综合视频在线播放| 欧美综合在线视频| 亚洲激情图片qvod| kk眼镜猥琐国模调教系列一区二区| 精品国产乱码久久久久久影片| 日韩中文字幕亚洲一区二区va在线| 色欧美88888久久久久久影院| 国产精品欧美极品| 成人网在线播放| 久久精品亚洲精品国产欧美kt∨| 久久99国产精品久久99果冻传媒| 欧美日韩aaa| 图片区日韩欧美亚洲| 欧美人动与zoxxxx乱| 亚洲一级二级在线| 精品视频一区二区不卡| 一区二区三区在线影院| 色一情一伦一子一伦一区| 亚洲欧美另类小说| 在线观看91视频| 日韩一区精品视频| 欧美一区二区私人影院日本| 男人操女人的视频在线观看欧美| 在线播放亚洲一区| 美女视频黄频大全不卡视频在线播放 | 日本国产一区二区| 夜夜亚洲天天久久| 欧美日韩国产首页| 久久精品国产澳门|