$.when
'daki ertelenmiş nesneleri kullanarak birden çok ajax çağrısı için farklı başarı ve başarısız durumları işleme, aynı anda sorgulanan tüm çoklu ajax çağrıları için bir Deferred nesnesi döndürür.jQuery
Her şey başarılı olursa .done()
yürütür ve URL'lerden herhangi biri başarısız olursa .fail()
yürütür.
Kısmi başarı durumları nasıl ele alınır? (yani, 5 URL'ler $.when
'a iletilirse, 3 başarılı olursa, başarı durumuyla başa çıkmamız gerekir ve 2 başarısız olursa hata durumuyla başa çıkmamız gerekir.
$.when($.getJSON(headerUrl), $.getJSON(tasksUrl), $.getJSON(testingTrackerUrl), $.getJSON(highlightsUrl)))
.then(function(headerData, tasksData,testingTrackerData,highlightsData) {
printData(headerData, tasksData,testingTrackerData,highlightsData);
})
.fail(function(data, textStatus, jqXHR) {
console.error('Got error in '+jqXHR);
});
'$ .when', o çözülene ertelenmiş bir ana oluşturur ile temelindeki tüm sözler çözüldüğünde, ya da temeldeki sözlerden biri başarısız olduğunda başarısız olur. Farklı ajax çağrıları için farklı durumları ele almak istiyorsanız, bunu tek tek yapmanız gerekir. – adeneo
@adeneo evet Ara devletlerin olamayacağının farkındayım. Ama kısmi başarı ile başa çıkmak ve birden fazla ajx çağrısı için başarısız devletlerin nasıl ele alınacağını bilmek istiyorum. JqXHR readystate'i kullanabilir ve her aramanın durumunu belirleyebilir miyiz? Ya da jQuery'de başka bir yol var mı? – user4300143
Her ajax çağrısı için uygun geri bildirimi kullanırsınız. – adeneo