私は完全な ajax アプリケーションを持っています。多くのボタンとテキストフィールドが$.post
メソッドをトリガーします。今、私がやりたいことは、すべてのpost's
メソッドの結果をチェックすることです。このオブジェクトsuccess
のフィールドが false に設定されている場合は、メソッドを実行したいと思いsome_method
ます。それを行う最良の方法は何ですか?メソッドを使用するすべての関数でこのチェックを実行したくありませんpost
。post
すべてのメソッドの成功でトリガーされるオブザーバーを作成することは可能ですか? ありがとうございました。
3 に答える
0
ajaxSuccessグローバル イベント ハンドラーを使用し、いくつかのロジックを追加して、両方のコールバックが実行されないようにする必要があります。
$(document).ajaxSuccess(function(event, xhr, settings) {
if ( !settings.success ) {
//The ajax request does not have a success callback
}
});
または、すべての post 呼び出しを変更してパラメーターglobal
を設定しfalse
、グローバル ハンドラーがトリガーされないようにする必要があります。
于 2013-07-01T11:54:45.023 に答える
0
ajaxSuccess()グローバル イベント ハンドラを使用する
Ajax リクエストが正常に完了するたびに実行される関数をアタッチする
元:
$('body').ajaxSuccess(function(e, xhr, options) {
if (xhr.responseText
&& options.dataType == "json") {
var json = JSON.parse(xhr.responseText );
//custom
}
});
于 2013-07-01T11:45:37.113 に答える