2つのajax呼び出しを行います。もう一つは最初が終了した場合にのみ呼び出されなければなりません。Jqueryは期待どおりに動作しません。
var deferred = $.Deferred();
firstAjaxCall();
deferred.done(function() {
secondAjaxCall();
});
function firstAjaxCall() {
$.ajax({
url: '/SomeUrl',
type: 'POST',
success: function() {
deferred.resolve();
}
});
}
function secondAjaxCall() {
$.ajax({
url: '/SomeOtherUrl',
type: 'Get',
});
}
私も(jQuery deferreds)このよう
$.when(firstAjaxCall()).done(function() {
secondAjaxCall();
});
が、運を試してみました。それでも、最初の例では、時々、2番目の呼び出しが最初に呼び出される
、時にはそれが最初の例では、フローは次のようではありません
ん:
firstAjaxCall();
secondAjaxCall();
deferred.resolve();
はなぜ2番目のコールが呼び出されます最初と前にdeferred.resolve()
?
ここに '$ .when()'の必要はありません。これはちょうど 'firstAjaxCall()。then(secondAjaxCall);' – jfriend00
@ jfriend00 - それは本当です、私はOPがそれを使用していたために追加しました。 – adeneo