jQuery ajaxreadystate プラグイン
jQuery AJAX 実装には、AJAX リクエスト中に発生するreadystatechange
イベントに応答する方法が提供されていないという点で、ある程度の制限があります。 jQuery.ajax
API ドキュメントには実際に次のように記載されています。
ただし、
done
、fail
、always
、およびstatusCode
考えられるすべての要件をカバーしているため、onreadystatechange
メカニズムは提供されていません。
このステートメントはほとんどのユースケースに当てはまりますが、リクエスト全体が完了する前にレスポンス ヘッダーまたはステータス コードにアクセスしたい場合や、ストリーミング中のレスポンス本文にアクセスしたい場合はどうすればよいでしょうか?
ブラウザの互換性の問題により、明らかに jQuery はこの機能を提供していないため、このプラグインは、これらの機能をサポートするブラウザにこの追加機能を追加します (以下の互換性に関するメモを参照)。
このプラグインは、 jQuery.ajax
のラッパーとして機能する新しいメソッドjQuery.ajaxreadystate
メソッドを追加することで機能し、機能を拡張し、 jqXHR
オブジェクトを更新して制限を削除し、 readyState
変更に応じてプロパティを更新します。
jQuery.ajaxreadystate
は、定義できる追加のメソッドが 1 つある点を除いて、 jQuery.ajax
と同じように使用します。それは、 readystate
メソッドです。
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ;
このメソッドは、リクエストがreadystatechange
イベントを起動するたびに起動し、更新されたjqXHR
オブジェクトと現在のreadyState
を渡します。
このリポジトリのリリース セクションから、最新の安定した縮小リリースをダウンロードできます。あるいは、パッケージ マネージャーからダウンロードしたリポジトリのクローンを作成することもできます。
###完全サポート
次のブラウザは完全にサポートされています。
###部分的にサポート
次のブラウザは、ブラウザ自体の技術的制限により部分的にサポートされています。互換性の問題が指摘されています。
responseText
、 readyState
が4
なるまで使用できません。readyState
3
に対してreadystatechange
イベントを 1 つだけ起動します。responseText
、 readyState
が4
なるまで使用できません。status
とstatusText
、 readyState
が4
なるまで更新されません。getAllResponseHeaders
とgetResponseHeader
readyState
が4
なるまでnull
を返します。readystate
コールバックは、 readyState
1
に対してのみ起動されます。responseText
、 readyState
が4
なるまで使用できません。status
とstatusText
、 readyState
が4
なるまで更新されません。getAllResponseHeaders
とgetResponseHeader
readyState
が4
なるまでnull
を返します。getAllResponseHeaders
とgetResponseHeader
readyState
が3
なるまでnull
を返します。getAllResponseHeaders
とgetResponseHeader
readyState
が3
なるまでnull
を返します。readyState
3
に対してreadystatechange
イベントを 1 つだけ起動します。status
とstatusText
、 readyState
が3
になるまで更新されません。readyState
3
に対してreadystatechange
イベントを 1 つだけ起動します。status
とstatusText
、 readyState
が3
になるまで更新されません。readyState
3
に対してreadystatechange
イベントを 1 つだけ起動します。getAllResponseHeaders
とgetResponseHeader
readyState
が4
なるまでnull
を返します。リストされているものより古いブラウザはテストされていませんが、部分的または完全にサポートされている可能性があります。
このプラグインは、jQuery 1.5 以降および jQuery 2.0.0 以降と互換性があります。
縮小ビルドを作成するには、このリポジトリのルート ディレクトリからこのコマンドを実行します。
$ npm run build
バグを見つけた場合、または上記に記載されていない互換性の問題がある場合は、このリポジトリの問題セクションでチケットを開いてください。
LICENSE.txtを参照
このライセンスがうまく機能しない場合は、お気軽にご連絡ください。
私のソフトウェアが役立つと思われる場合は、私の Web サイト (alexomara.com) で少額の寄付をすることをご検討ください。