Heim  >  Artikel  >  Web-Frontend  >  Ajax-Fehlerbehandlungsmethoden

Ajax-Fehlerbehandlungsmethoden

韦小宝
韦小宝Original
2017-12-30 17:38:472140Durchsuche

Ajax Wie löst man das Problem der Statusbeurteilung, wenn sonst eine Aussage beim Senden einer Anfrage gemacht wird? Als nächstes werde ich Ihnen in diesem Artikel mitteilen, wie Sie mit den Fehlern von Ajax umgehen können. Freunde, die sich für Ajax-Fehler interessieren, sollten einen gemeinsamen Blick darauf werfen

1 , Es gibt ein Problem mit der if else-Anweisung, wenn Ajax eine Anfrage sendet.

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();

Dabei wurden zwei ausgegeben Zeit 200 Statuscode, und geben Sie dann xhr.responseText aus, den erhaltenen Inhalt. Es war damals sehr seltsam. Ich frage mich, wo diese beiden 200 herkamen.

Ich habe damals versucht, viele Inhalte auszugeben, konnte aber immer noch den Grund nicht finden. Das Problem wurde erst entdeckt, als die else-Anweisung in console.log (xhr.readystate) geändert wurde. Zu diesem Zeitpunkt war die Ausgabeprüfung 2, 3 und der erhaltene Inhalt wurde abgerufen. Erst dann habe ich den Grund herausgefunden:

Von dem Zeitpunkt an, an dem xhr eine Anfrage sendet, durchläuft es 5 Zustände. Die Statuscodes sind 0, 1, 2, 3, 4 (Das ist der Wert von „readystate“). Sobald eine Änderung auftritt, wird das Ereignis „readystatechange“ ausgelöst und die Ereignisbehandlungsfunktion aufgerufen. Wenn sich der Statuscode in 2 ändert, ruft er das Ereignis „readystatechange“ auf und verwendet dann die if/else-Anweisung

Dies ist „readystate“, offensichtlich nicht 4, und verwendet dann die „else“-Anweisung, um 2 auszugeben. Und so weiter, 3. Bei 4 wird das Ereignis „readystatechange“ erneut aufgerufen. Erst bei 4 wird der Inhalt in „if“ übernommen und der Anforderungsinhalt zurückgegeben.

Das Obige ist die Einführung des Herausgebers zum Umgang mit Ajax-Fehlern. Ich hoffe, dass es für alle hilfreich ist! !

Verwandte Empfehlungen:

Ajax-Fehler-Debugging-Analyse in jQuery

Beispiele zur Erläuterung der Grundlagen von HTTP-Nachrichten und Ajax-Wissen

Wie Ajax Website-Hijacking erkennt

Das obige ist der detaillierte Inhalt vonAjax-Fehlerbehandlungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn