婷婷综合国产,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
    色婷婷综合视频在线观看| 欧美va在线播放| 一区二区三区在线高清| 欧美日韩成人在线| 精品一区二区三区免费| 中文字幕日韩精品一区| 制服丝袜激情欧洲亚洲| 一本大道久久精品懂色aⅴ| 国产精品久久久久久亚洲伦| 99久久国产免费看| 天天综合日日夜夜精品| 欧美一区二区三区人| 成人小视频免费观看| 亚洲国产成人tv| 中文字幕电影一区| 国产精品天美传媒沈樵| 91精品国产一区二区三区香蕉| 丝袜国产日韩另类美女| 91精品国产综合久久久久久| 91亚洲精品乱码久久久久久蜜桃| 不卡一区在线观看| 91碰在线视频| 91美女片黄在线| 国产传媒欧美日韩成人| 韩国v欧美v日本v亚洲v| 精品一区二区综合| 国内精品久久久久影院色 | 91女厕偷拍女厕偷拍高清| 亚洲成在线观看| 国产欧美一二三区| 久久久.com| 国产精品久久网站| 国产精品麻豆99久久久久久| 亚洲自拍欧美精品| 成人深夜视频在线观看| 国产乱人伦偷精品视频免下载| 性欧美疯狂xxxxbbbb| 亚洲久草在线视频| 蜜臀久久久久久久| 国产一区二区看久久| www.日韩大片| av不卡免费电影| 欧美成人精品1314www| 久久久久久久综合狠狠综合| 成人av电影在线观看| 色偷偷久久一区二区三区| 色视频一区二区| 日韩欧美二区三区| 一区二区三区四区视频精品免费| 国产美女精品人人做人人爽| 91理论电影在线观看| 日本乱码高清不卡字幕| 色综合久久中文字幕综合网| 国产精品欧美精品| 午夜精品福利一区二区三区av | 亚洲人被黑人高潮完整版| bt欧美亚洲午夜电影天堂| 国产麻豆精品视频| 国产成人免费在线观看不卡| 色偷偷一区二区三区| 欧美一区二区三区色| 亚洲国产精品成人综合色在线婷婷 | 久久精子c满五个校花| 成人免费在线播放视频| 日韩成人午夜精品| 9色porny自拍视频一区二区| 日韩精品一区国产麻豆| 亚洲精品伦理在线| 国产精品99久久久久| 欧美日韩国产综合一区二区| 国产日产欧美一区二区视频| 亚洲18色成人| 99久久久久久| 国产日韩欧美一区二区三区乱码| 天天色图综合网| 色琪琪一区二区三区亚洲区| 久久久久免费观看| 日本不卡在线视频| 色婷婷狠狠综合| 中文字幕久久午夜不卡| 久久精品国产精品亚洲红杏| 欧美视频中文字幕| 中文字幕一区二区三区蜜月 | 国模少妇一区二区三区| 欧美视频三区在线播放| 亚洲日本成人在线观看| 岛国一区二区在线观看| 久久影视一区二区| 国产乱人伦偷精品视频不卡| 99精品久久久久久| 欧美激情一区二区三区不卡 | 亚洲国产高清在线| 国产99久久久精品| 久久久久久久综合色一本| 久久国产精品区| 精品少妇一区二区三区在线播放 | 亚洲午夜一区二区三区| av电影在线不卡| 亚洲欧美在线aaa| 成人黄色片在线观看| 中文字幕av不卡| 成人免费看片app下载| 中文成人综合网| 99精品视频在线观看| 亚洲天天做日日做天天谢日日欢| 国产精品一二二区| 久久久激情视频| 国产精品亚洲视频| 亚洲国产精华液网站w| 不卡av免费在线观看| 国产精品久久久久aaaa| 色综合天天性综合| 亚洲一区二区在线播放相泽 | 亚洲精品欧美专区| 欧美性三三影院| 免费不卡在线视频| 精品欧美一区二区三区精品久久| 蜜臀av一区二区在线观看| 日韩精品一区二区三区三区免费| 久久电影国产免费久久电影| 精品福利在线导航| 国产乱码精品1区2区3区| 久久久久97国产精华液好用吗| 高清不卡一区二区| 亚洲制服丝袜在线| 欧美mv和日韩mv国产网站| 成人黄色综合网站| 视频一区国产视频| 久久人人超碰精品| 色哟哟国产精品免费观看| 丝袜脚交一区二区| 国产片一区二区三区| 一本色道久久加勒比精品| 日韩一区精品字幕| 中文字幕 久热精品 视频在线| 在线视频亚洲一区| 精品一区二区三区在线视频| 综合色中文字幕| 欧美大片在线观看一区| 成人性生交大片免费看中文| 亚洲bt欧美bt精品777| 中文字幕乱码日本亚洲一区二区| 欧美日韩成人一区二区| 欧美日韩大陆一区二区| 美国一区二区三区在线播放| 国产精品卡一卡二| 日韩精品一区二区三区swag | 欧美一区二区三区爱爱| 成人手机在线视频| 日韩av一区二区三区四区| 国产精品久久久久久久浪潮网站| 欧美肥妇free| 色呦呦网站一区| 国产suv一区二区三区88区| 偷拍与自拍一区| 亚洲精选视频免费看| 久久久精品蜜桃| 精品嫩草影院久久| 69堂国产成人免费视频| 在线观看亚洲一区| 91丨porny丨中文| 成人免费视频app| 国产一区999| 免费高清在线一区| 性久久久久久久久| 一区二区成人在线视频| 亚洲丝袜自拍清纯另类| 亚洲欧美自拍偷拍色图| 国产精品视频免费看| 久久久亚洲精华液精华液精华液| 日韩欧美中文一区二区| 欧美电影在线免费观看| 欧美日本精品一区二区三区| 欧美在线视频日韩| 91视频.com| 99久久久久久99| av在线不卡免费看| 成人av集中营| 99精品欧美一区二区三区综合在线| 国产成人在线看| 国产成人午夜视频| 国产风韵犹存在线视精品| 国产高清久久久| 成人一区二区三区视频在线观看| 国产丶欧美丶日本不卡视频| 国产福利一区在线| 国产999精品久久久久久绿帽| 国产麻豆视频一区| 国产99精品在线观看| 东方aⅴ免费观看久久av| 成人av在线播放网址| 91丨porny丨最新| 欧美三级乱人伦电影| 欧美一级日韩一级| 久久这里只有精品首页| 国产精品麻豆久久久| 亚洲精品成人少妇| 亚洲国产一区二区在线播放| 日本91福利区| 国产经典欧美精品|