2
Эта функция выполняет два последовательных вызова AJAX, а данные, возвращаемые страницей 1, используются в запросе на стр. 2.Возвратите обещание от последовательных вызовов jQuery ajax?
function call() {
return $.ajax("http://example.com/page1").done(function(d) {
$.ajax("http://example.com/page2", { data: d.foo });
});
}
Я хотел call()
вернуть обещание, устраняющее только один раз page2
завершил загрузку, а не когда page1
закончил, как это делает в данный момент, так что это можно сделать:
call().done(function() { console.log("page2 has loaded.") });
Каков наилучший способ сделать это?
Метод цепочки является лучшим. –
Вы проверили jquery отложенные: http://api.jquery.com/deferred.promise/ – diEcho