ajax Comment résoudre le problème du jugement de statut if else lors de l'envoi d'une demande ? Ensuite, je partagerai avec vous comment gérer les erreurs commises par ajax à travers cet article. Les amis qui sont intéressés par les erreurs ajax devraient y jeter un œil ensemble
. 1 , Il y a un problème avec l'instruction if else lorsque ajax envoie une requête.
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();
Deux ont été sortis à ce moment-là time 200 code d'état, puis affichez xhr.responseText, le contenu obtenu. C'était très étrange à l'époque. Je me demande d'où venaient ces deux 200 ?
J'ai essayé de publier beaucoup de contenu à ce moment-là, mais je n'ai toujours pas trouvé la raison. Le problème n'a été découvert que lorsque l'instruction else a été modifiée en console.log(xhr.readystate). À ce moment-là, la vérification de sortie était 2, 3 et le contenu obtenu a été obtenu. Ce n'est qu'alors que j'ai découvert la raison :
À partir du moment où xhr envoie une requête jusqu'à la fin de la requête, elle passera par 5 états. Les codes d'état sont 0, 1, 2, 3 et. 4 (qui est la valeur de readystate). Chaque état Une fois qu'un changement se produit, l'événement readystatechange sera déclenché et la fonction de gestion des événements sera appelée. Lorsque le code d'état passe à 2, il appelle l'événement readystatechange, puis utilise l'instruction if/else,
Il s'agit de readystate, évidemment pas 4, puis utilise l'instruction else pour afficher 2. Et ainsi de suite, à 3, à 4, l'événement readystatechange est appelé à nouveau. Seulement à 4, le contenu du if est pris. La requête est réussie et le contenu de la requête est renvoyé.
Ce qui précède est l'introduction de l'éditeur sur la façon de gérer les erreurs Ajax. J'espère que cela sera utile à tout le monde ! !
Recommandations associées :
Analyse de débogage des erreurs Ajax dans jQuery
Un exemple pour expliquer les bases de HTTP messages et connaissances ajax
Comment Ajax détecte le piratage de sites Web
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!