私はこのコードを持っています
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
一度だけ動作しない限り、期待どおりに動作します。ページを更新した後、上記のコードは正常に実行されますが、以前と同じように 1 回しか機能しません。それを修正する方法はありますか?
私はこのコードを持っています
$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
一度だけ動作しない限り、期待どおりに動作します。ページを更新した後、上記のコードは正常に実行されますが、以前と同じように 1 回しか機能しません。それを修正する方法はありますか?
.ajaxStart のドキュメントをお読みください。
次のように説明されています。
説明: 最初の Ajax リクエストの開始時に呼び出されるハンドラーを登録します。これは Ajax イベントです。
Ajax リクエストが送信されようとしているときはいつでも、jQuery は他に未解決の Ajax リクエストがあるかどうかをチェックします。進行中のものがない場合、jQuery は ajaxStart イベントをトリガーします。この時点で、.ajaxStart() メソッドで登録されたすべてのハンドラーが実行されます。
これは、最初の ajax リクエストが終了せずに別の ajax リクエストを送信した場合、このイベントが再度発生しないことを意味します。
次に、動作が ajaxStop の場合と同じであると簡単に推測できます。 ここにドキュメントがあります
説明: すべての Ajax リクエストが完了したときに呼び出されるハンドラーを登録します。これは Ajax イベントです。
Ajax リクエストが完了するたびに、jQuery は他に未解決の Ajax リクエストがあるかどうかをチェックします。何も残っていない場合、jQuery は ajaxStop イベントをトリガーします。この時点で、.ajaxStop() メソッドに登録されているすべてのハンドラーが実行されます。ajaxStop イベントは、最後の未処理の Ajax リクエストが beforeSend コールバック関数内で false を返すことによってキャンセルされた場合にもトリガーされます。
これは、予想どおり、現在実行中の ajax リクエストがすべて終了した場合にのみ、このイベントが発生することを意味します。
または多分私はあなたの問題を理解していませんでしたか?
また、 ajaxComplete を試すこともできます(リンクを挿入するのに十分な担当者がいません)
(グローバル イベント) このイベントは、完了イベントと同じように動作し、Ajax 要求が終了するたびにトリガーされます。
このイベントは、ajax 呼び出しの成功または失敗に関係なく発生します。ただし、完了したリクエストごとに呼び出されます。