我有这个代码
$('#mySelect').change(function() {
$.get(
"test.php",
function(data) { alert('test1'); }
);
});
我需要触发#mySelect 的事件更改,并等待 ajax 的响应以执行其他任务。但是当我尝试
$.when($('#mySelect').change()).done(function() { alert('test2'); });
它只等待更改完成,并且发送了 ajax,没有收到。 所以我在'test1'之前有警报'test2' 我怎样才能让 $.when 等待 even 中的所有内容完成?
最佳答案
您必须首先保存由$.get()
返回的延迟对象,并在$.when
中使用它。
var getReq;
$('#mySelect').change(function() {
getReq = $.get(
"test.php",
function(data) { alert('test1'); }
);
});
$.when(getReq).done(function() { alert('test2'); });
关于javascript - $.当不等待 ajax 返回时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460247/