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) で少額の寄付をすることをご検討ください。