javascript - $.当不等待 ajax 返回时

标签 javascript jquery

我有这个代码

$('#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/

相关文章:

javascript - Jquery,如果 div 存在但仅来自列表中的该元素,则更改边框

javascript - Angular/形式整数验证器

javascript - 如何在页面完全加载 HTML5/CSS3 之前显示进度条?

javascript - 错误类型错误 : Cannot set property 'product' of null

javascript - 按 rel 属性对元素进行分组

php - 如何在 PHP 中处理大量数据

javascript - 使用ajax滚动div不起作用

javascript - Jquery 移动日期框今天按钮点击关闭

javascript - 更改动态添加的选择选项元素的名称

jquery - HoverIntent 和 SuperFish 闪烁