HTML5 を使用した高度な効果に関する WWDC12 のビデオをもう一度見ていましたreq.addEventListener("load",callback,true)
が、通常の ではなくデモが使用されていることに気づきましたonreadystatechange
。
state=4 status=200
load イベントとシチュエーションの違いは何ですか?
起動されているのは同じロード イベントですか、それとも 2 つの異なるイベントですか?
HTML5 を使用した高度な効果に関する WWDC12 のビデオをもう一度見ていましたreq.addEventListener("load",callback,true)
が、通常の ではなくデモが使用されていることに気づきましたonreadystatechange
。
state=4 status=200
load イベントとシチュエーションの違いは何ですか?
起動されているのは同じロード イベントですか、それとも 2 つの異なるイベントですか?
このload
イベントは、リクエストがネットワークで成功したことを示すだけであり、必ずしもHTTPで成功したとは限りません。ネットワークトランザクションの成功または失敗を示す、常にload
イベントまたはイベントのいずれかを伴うAjaxリクエスト( Progress Events仕様の一部として):error
このerror
イベントは、サーバーがダウンしているか、アクセスできないドメインにあるためにネットワークフェッチが失敗した場合に発生します(つまり、要求は同一生成元ポリシーによってブロックされます)。
それ以外の場合は、load
返されたHTTPコードに関係なく、起動します。
load
orイベントは、最後のイベントがerror
発生した後、常に最後に発生するため、 orコールバックが実行され、正しいHTTP応答コードに設定されているreadstatechange
ことを確認できます。load
error
xhr.readyState == 4
xhr.status