ve kayıt done
, fail
ve then
işleyicileri sonra çağrılmaz:jQuery .fail() Ben jQuery.Deferred kullanıyorum
$.when(some_ajax(url))
.done(function(result){})
.fail(function(){})
.then(function(){}); //just like that, with a single parameter
buldum benim ajax o çağrı başarılı, done
ve then
geri aranıyor, bu sırayla. Ancak ajax başarısız olduğunda, fail
geri arama denir ama ben then
geri arama alamadım.
jQuery.Deferred belgelerini okudum, ancak bu davranışa ilişkin bir ipucu bulamadım.
yerine then
ait always
kullanarak, her iki durumda da denir - başarı ve başarısızlık (done
/fail
ilk denir, daha sonra always
denir). Belge, açıklanan senaryomda always
ve then
arasında beklenen bir farka işaret ediyor gibi görünmüyor, neden farklı davranıyorlar?
başarısız davayı ele almak için oldukça normal (sanırım Arun P Johny'nin cevabında söylediği şey bu). Yoksa, aynı zamanda, gerçek kodunuzda o zaman() 'ya bir başarısızlık işleyicisini mi geçiyorsunuz? –
@ FrédéricHamidi teşekkürler, umarım sorum şu anda açıktır (düzenlenir) – Haji
Gerçekten daha açık ve Arun'ın cevabı doğrudur: 'sonra() 'aramanız sizin için sadece başarısızlık değil, başarısızlık, işleyiciniz için mantıklıdır. arıza durumunda çağrılabilir. –