2016-10-14 13 views
0

HTMLレスポンスを受け取った後に機能を呼び出すと、jQueryのです: -すべてのAJAX呼び出しは(AJAX呼び出しの数が動的である)

結果

Javascriptを: -

$(document).ready(function(){ 
$("#result").html("function started here"); 
var requests = Array(); 
requests.push($.get('https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA')); 
requests.push($.get('https://maps.googleapis.com/maps/api/geocode/json?address=EGL, Bangalore')); 
var defer = $.when.apply($, requests); 
    console.log(defer); 
defer.done(function(){ 
$("#result").html("Completed"); 
    // This is executed only after every ajax request has been completed 
    $.each(arguments, function(index, responseData){ 

    // alert(index); 
    $("#result").html(responseData); 
        // "responseData" will contain an array of response information for each specific request 
    }); 

}); 
    }); 

上記のスニペットは場合にのみ、すべての作品ajax呼び出しは "成功"応答を返します。すべてのajax呼び出しが応答を受け取るかどうかを知る方法はありますか?それは "成功"/"失敗"かもしれません。

答えて

0

ajaxStart、ajaxStop、ajaxError、ajaxSuccessできます。

$(document).ajaxStart(function() { 
      //when ajax start 
     }).ajaxStop(function() { 
      //when ajax stop 
     }).ajaxError(function() { 
      //when ajax error 
     }).ajaxSuccess(function() { 
     // when ajax success 
    }); 

これは、すべてのajax呼び出しで発生します。

+0

ありがとうvenkat :-)それは助けました。 –

+0

は、どのajax呼び出しが失敗し、どのajaxが成功したかを知る方法はありますか? –

+0

no ..(ajaxStart、ajaxStop、ajaxError、ajaxSuccess)これらの関数は、グローバルに起動します。 1つの方法がありますが、retrun値でトレースします。 – RJV