2010-05-31 16 views
10

jQuery AJAX API faydalanmak ve eşzamanlı aramalar yapabilir jquery ile çağrıları?Senkron

cevap

14

gibi Obama söyleyebilirim: EVET SİZ CAN! hile olacaktır .ajax() işleyicisi içinde

async = false 

Ayar

jQuery .ajax()

.

+0

Süper hızlı yanıt için teşekkür ederim :) – keshav84

+2

Bu özellik jQuery 1.8 sitesinden kullanımdan kaldırılmıştır http://api.jquery.com/jQuery.ajax/ – Doug

+1

Önerilen alternatif nedir? Bu konuda anlamış değilim –

3

jQuery senkronizasyon ayarlayarak senkronizasyon AJAX arama yapmak mümkün olmakla birlikte: false özelliğini, bu AJAX tamamlanana kadar asmak için tarayıcı neden olur. Frame.js gibi bir akış kontrolü kütüphane kullanma tarayıcısını meşgul etmeden uyumlu çağrılar yapmanızı sağlar:

$.each(ajaxObjects, function(i, ajaxCall){ 
    Frame(function(next)){ // declare the callback next here 

     ajaxCall.complete = function(data){ 
      // do something with the data 
      next(); // go to the next ajax call 
     } 
     $.ajax(ajaxCall); 

    }); 
} 
Frame.init(); 

AJAX serisi tarayıcısını asmak yapmadan önceki tamamlamak için her bekleyerek sırayla yapılacaktır aramaları . Ayrıca yararı vardır bir rasgele sırayla geri uyumsuz çağrı karşı tahmin edilebilir bir sırada ajax arama veri döner.

+0

bir şey benim için biraz önemli: Yanıtınızda() dönüşünü Frame.init ne zaman? Bu çağrılardan önce mi, sonra mı? –

+0

Frame.init basitçe bir işi aldığında, bu işi çalıştırmak gerektiğini Frame söyler. Frame v2'de, Frame.start olarak yeniden adlandırıldı. Frame que'ye bir grup şey eklemek istediyseniz, ancak Frame'in işleri henüz çalıştırmaya başlamasını istemiyorsanız alternatif kullanım olacaktır. Çerçeve, tüm işleri sadece .start() çağrılana kadar tutacaktır. – BishopZ

İlgili konular