Ajax犯的錯(cuò)誤處理方法
1, ajax 發(fā)送請(qǐng)求時(shí)狀態(tài)判斷 if else 語(yǔ)句問題。
var xhr = new XMLHttpRequest();
xhr.open("get",strUrl);<br>
<br>xhr.onreadystatechange = function(){
<br><br>
if(xhr.readyState === 4){
<br><br><em id="__mceDel">
if(xhr.status ===200){
console.log(xhr.responseText);
}
<br><br></em><em style="line-height: 1.5;" id="__mceDel">
<em id="__mceDel"><em id="__mceDel"><em id="__mceDel">
}else </em></em></em></em><em style="line-height: 1.5;" id="__mceDel"><em id="__mceDel"><em id="__mceDel">
<em id="__mceDel"><em id="__mceDel">{<br>
console.log(xhr.status); }
<br> }</em></em></em></em></em>
xhr.send();
當(dāng)時(shí)輸出了兩個(gè)200 的狀態(tài)碼,然后才輸出xhr.responseText, 獲取到的內(nèi)容。 當(dāng)時(shí)很奇怪,不知道這兩個(gè)200 是怎么來(lái)的?
當(dāng)時(shí)嘗試輸出不少內(nèi)容,但還是找不到原因。 只有到把else 語(yǔ)句中改為 console.log(xhr.readystate)才發(fā)現(xiàn)了問題,這時(shí)輸出結(jié)查依次是2,3,獲取到的內(nèi)容。 這時(shí)才發(fā)現(xiàn)原因:
xhr 發(fā)送請(qǐng)求到請(qǐng)求結(jié)束,會(huì)經(jīng)過5種狀態(tài),狀態(tài)碼依次是0,1,2,3,4(就是readystate 的值),狀態(tài)每發(fā)生改變一次,就會(huì)觸發(fā)readystatechange事件,調(diào)用事件處理函數(shù)。 當(dāng) 狀態(tài)碼是變化到2時(shí),它調(diào)用readystatechange 事件,然后走 if/else 語(yǔ)句,
這是 readystate 顯然不是4,然后走else 語(yǔ)句 輸出 2. 以此類推,3,4 的時(shí)候再調(diào)用readystatechange 事件, 只有4 時(shí)才走if 里面的內(nèi)容,請(qǐng)求成功,返回請(qǐng)求內(nèi)容。
以上所述是小編給大家介紹的Ajax犯的錯(cuò)誤處理方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 詳解ajax的data參數(shù)錯(cuò)誤導(dǎo)致頁(yè)面崩潰
- 快速解決ajax請(qǐng)求出錯(cuò)狀態(tài)碼為0的問題
- PHP 中使用ajax時(shí)一些常見錯(cuò)誤總結(jié)整理
- 完美解決ajax跨域請(qǐng)求下parsererror的錯(cuò)誤
- ajax跨域訪問報(bào)錯(cuò)501的解決方法
- jQuery中ajax錯(cuò)誤調(diào)試分析
- Ajax向后臺(tái)傳json格式的數(shù)據(jù)出現(xiàn)415錯(cuò)誤的原因分析及解決方法
- js ajaxfileupload.js上傳報(bào)錯(cuò)的解決方法
- 解決ajax返回驗(yàn)證的時(shí)候總是彈出error錯(cuò)誤的方法
- Jquery Ajax Error 調(diào)試錯(cuò)誤的技巧
- django使用ajax post數(shù)據(jù)出現(xiàn)403錯(cuò)誤如何解決
- Ajax報(bào)錯(cuò)400的參考解決辦法
相關(guān)文章
Ajax二級(jí)聯(lián)動(dòng)菜單實(shí)現(xiàn)原理及代碼
二級(jí)聯(lián)動(dòng)菜單,一個(gè)多么方便且實(shí)用的用戶交互功能,有需求的朋友可以參考下本文,或許對(duì)你的菜單知識(shí)深入學(xué)習(xí)有幫助,好了,閑話不多說,看代碼吧2013-01-01
使用Ajax局部更新Razor頁(yè)面的實(shí)例代碼
Razor功能非常強(qiáng)大,但是本身并不能做到無(wú)刷新,所以需要配合ajax使用。本文通過一個(gè)例子給大家介紹使用Ajax局部更新Razor頁(yè)面,需要的朋友參考下吧2017-09-09
Ajax與JSON的一些學(xué)習(xí)總結(jié)
Ajax技術(shù)的核心是XMLHttpRequest對(duì)象(簡(jiǎn)稱XHR),可以通過使用XHR對(duì)象獲取到服務(wù)器的數(shù)據(jù),然后再通過DOM將數(shù)據(jù)插入到頁(yè)面中呈現(xiàn)。雖然名字中包含XML,但Ajax通訊與數(shù)據(jù)格式無(wú)關(guān),所以我們的數(shù)據(jù)格式可以是XML或JSON等格式2012-08-08
分享Ajax創(chuàng)建簡(jiǎn)單實(shí)例代碼
這篇文章主要為大家分享了Ajax創(chuàng)建簡(jiǎn)單實(shí)例代碼,學(xué)習(xí)Ajax如何創(chuàng)建簡(jiǎn)單實(shí)例,感興趣的小伙伴們可以參考一下2015-12-12
Ajax疊加(Ajax返回?cái)?shù)據(jù)用Ajax發(fā)出)示例代碼
把參數(shù)用Ajax發(fā)送到數(shù)據(jù)庫(kù)進(jìn)行查詢?nèi)缓笥肁jax將數(shù)據(jù)發(fā)送到數(shù)據(jù)庫(kù)簽到表,于是有了下面的代碼,感興趣的朋友可以了解下,希望對(duì)大家學(xué)習(xí)ajax有所幫助2013-08-08
Ajax創(chuàng)建XMLHttp對(duì)象的完美兼容性代碼
Ajax創(chuàng)建XMLHttp對(duì)象的完美兼容性代碼,需要的朋友可以參考下。2011-11-11

