混乱して— XMLHttpRequestのreadyStateは0、ステータスは200です
-
03-07-2019 - |
質問
firebugにブレークポイントを設定し、xhrオブジェクトを調べています。そのreadyStateは0、そのステータスは200です。私の理解では、ステータスが200の場合、リクエストは少なくとも開始され、readystateは少なくとも1である必要があります。
jqueryの$ .ajaxを使用してxhrオブジェクトを作成していますが、それがxhrのreadystateとstatusに影響を与えるとは思いません。
解決
リクエストは、ステータスが200のときではなく、readyStateが4のときに完了します。
他のヒント
w3c readyState を定義
code>は、xmlhttprequestの進行状況を段階的に示します。 0から4の順に遷移し(未初期化、オープン、送信、受信、ロード済み)、ロードされたときのみコンテンツの読み取り準備が完了します。これがプロパティのポイントであり、応答ヘッダーであるステータスではなく、 onreadystatechange
イベントを監視する理由です。
同じ仕様により、 status
は利用できない(受信時またはロード時)ときに例外を発生させることになっていますが、使いやすさのために実装によって軽視されていると思います。
所属していません StackOverflow