ネイティブXMLHttpRequestオブジェクトを使用すると、イベント リスナーをイベントに追加して、が、またはonreadystatechangeの場合に通知を受け取ることができます。これにより、長い転送が完了する前に HTTP 応答ヘッダーを読み取ることができるので便利です。readyState2HEADERS_RECEIVED
ただし、jQuery の AJAX ラッパーでは、これを行う方法はないようです。jQuery.ajax API ドキュメントには、実際には次のように書かれています。
ただし、 、、、およびは考えられるすべての要件をカバーする
onreadystatechangeため、メカニズムは提供されません。donefailalwaysstatusCode
私が間違っていない限り、リストされているすべてのコールバックは、リクエスト全体が受信された後に起動されます。これは、ヘッダーが利用可能になってから長い時間がかかる場合がありreadyStateます2。
プロパティをポーリングせずにonreadystatechange、および/またはreadyState 2jQueryのAJAXラッパーを使用するときにコールバックを追加する方法はありますか?readyState
readyStateを使用して AJAX オブジェクトのプロパティをポーリングすることは可能だと思いますsetIntervalが、明らかな理由から、これが実際の解決策であるとは考えていません。また、jQuery のコアを変更することが実際の解決策になるとは考えていません。
アップデート:
別の SO ユーザーから、この質問に誘導されました。残念ながら、これらの答えはどれもうまくいかないようです。jQuery を変更することは、実際の解決策ではありません。jQuery を使用して XHR オブジェクトを作成すると、目的が達成できなくなります。そして、最後の答えはまったく機能しません。実際、質問全体は時代遅れの jQuery に対するものに見えます。