2010-11-29 13 views

cevap

8

Sen ajaxSetup, hatta her $.ajax çağrı xhr fonksiyonunu geçersiz kılabilir. Bu $.ajax belgelerinde (teşekkürler Nick!) belgelenmiştir.

bu her zaman yapmak istiyorsanız Kodunuz bu (denenmemiş) gibi görünebilir:

: Sadece belirli bir istek için

(function() { 
    var originalXhr = jQuery.ajaxSettings.xhr; 
    jQuery.ajaxSetup({ 
     xhr: function() { 
      var req = originalXhr(); 
      if (req) { 
       // Add your progress handler 
      } 
      return req; 
     } 
    }); 
})(); 

... ya böyle (live example)

$.ajax({ 
    url: "path/to/resource", 
    xhr: function() { 
    var req = $.ajaxSettings.xhr(); 
    if (req) { 
     // Add your handler here 
    } 
    return req; 
    } 
}); 

Maalesef, xhr'u geçersiz kıldığını bildirmekle birlikte, şu anda yapılandırılmış olanın (jQuery.ajaxSettings.xhr) konumu görünmüyor, dolayısıyla teknik olarak hala bir alt tabakaya güvenmiyorsunuz Kodunuzda jQuery.ajaxSettings.xhr kullanarak d özelliği. Sadece her bir nokta sürümünde hala var olduğunu iki kez kontrol etmelisiniz, muhtemelen çok fazla hareket etmeyecek (ve jQuery.ajaxSettings en az belgesinde belgededir, here).

+1

+1 - Sadece dikkat edilmesi gereken, burada son seçenek belgelenmiştir: http://api.jquery.com/jQuery.ajax/ –

+0

@Nick Craver: Ben jQuery.ajaxSettings gerçeğine atıfta olduğuna inanıyorum http://api.jquery.com/ adresinde kendi doküman sayfasına sahip değil. – PleaseStand

İlgili konular