7

ここに記載されているイベントsuccessとイベントの違いを理解するのに助けが必要です。ajaxSuccess

successはローカルイベントajaxSuccessですが、はグローバルイベントです。ローカル変数とグローバル変数の違いは理解していますが、イベントスコープの概念を理解するのに問題があります。

一方が他方よりも優先されるいくつかのサンプルシナリオは何ですか?

4

2 に答える 2

8

グローバルイベントをそのまま使用できます。

$.ajaxSuccess(function(){
//do my global thing here
});

グローバルイベントは、1つだけでなく、ajax呼び出しが成功するたびに発生するためです。

しかし

success: function(){/* do local here */});

そのプライベートオブジェクトとしてローカルajax呼び出し関数内でのみ起動します。

に注意してください

$.ajaxComplete(function(){ });

エラーの有無にかかわらず、完全に起動するときにあなたが求めているものかもしれません。

編集:success:ajaxSetupグローバルのローカルに関する特別な注意:(これは推奨されないため、を使用する必要があります$.ajaxSuccess

$.ajaxSetup({
    success: function() {
       // local within the ajaxSetup
    }
});

では、なぜ一方を他方の上に使用するのでしょうか。おそらく、返されたオブジェクトの特別なフィルタリングが必要です。

$(selector1).ajax({
    success: function(data){
        processMySelector1JSON(data);
    }
});
$(selectorOther).ajax({
    success: function(data){
        processMySelectorOtherJSON(data);
    }
});
$.ajaxSuccess(function(){
  $('#message').text('Ajax Done!').fadeIn(function(){$(this).fadeOut();});
});
于 2012-05-24T12:51:25.097 に答える
0

success: function()このイベントはリクエストが成功した場合にのみ呼び出されるため、より優れています。サーバーからのエラーをチェックし、データのエラーをより良いものにします。

于 2012-05-24T13:00:32.283 に答える