ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxエラー処理メソッド

Ajaxエラー処理メソッド

韦小宝
韦小宝オリジナル
2017-12-30 17:38:472200ブラウズ

ajaxリクエスト送信時のif else文の問題を解決するには?次に、ajaxで作られたエラー処理方法をこの記事で紹介しますので、ajaxのエラーに興味のある方はぜひ一緒に見てください

1. ajaxの場合のif else文の問題。リクエストを送信します。

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

その際、200のステータスコードが2つ出力され、その後に取得した内容であるxhr.responseTextが出力されました。 当時、この200がどこから来たのか不思議でした。

その時は色々なコンテンツをアウトプットしてみたのですが、それでも原因が分かりませんでした。 このとき、else文をconsole.log(xhr.readystate)に変更して、出力チェックが2、3となり、取得内容が取得できた時点で問題が判明しました。 そのとき初めて理由が分かりました:

xhr がリクエストを送信してからリクエストが終了するまで、ステータスコードは 0、1、2、3、4 (の値です) の 5 つの状態を経ます。 readystate) 状態が変化するたびに、readystatechange イベントがトリガーされ、イベント処理関数が呼び出されます。 ステータス コードが 2 に変化すると、readystatechange イベントが呼び出され、if/else ステートメントが使用されます。これは明らかに 4 ではなく、readystate であり、else ステートメントを使用して 2 を出力します。同様に、readystatechange が呼び出されます。イベントの場合、コンテンツが 4 の場合のみ、if のコンテンツが取得され、リクエストが成功した場合はリクエストのコンテンツが返されます。

以上、編集者が紹介したAjaxエラーの対処方法でしたので、皆様のお役に立てれば幸いです! !

関連する推奨事項:

jQuery での Ajax エラーのデバッグ分析

HTTP メッセージと ajax の基本知識を説明する例

Ajax が Web サイトハイジャック検出を実装する方法

以上がAjaxエラー処理メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。