jquery.when ajax问题

标签 jquery jquery-deferred

让我们先看看我的代码:

$.when(function(){
    //blah blah blah...
    $.post('submit.php', {name: 'John'}, function(){
        console.log('saved!');
    }, 'text');
    //blah blah blah...
})
.then( $('#data').show() );

这是什么意思?我认为这意味着当第一个函数完成其工作(发布到 submit.php 和其他一些作品)时,显示 #data。 (我说得对吗?)

但是,当我运行它时,它首先显示#data,然后记录saved!(意味着发布完成)

为什么?

最佳答案

您根本不应该调用 .when()
$.post() 已经返回一个 Defered 对象。
您可以直接调用 .then()

关于jquery.when ajax问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302822/

相关文章:

javascript - 如何仅在特定事件后加载服务器变量?

jquery - 为 Kendo 日期列启用额外过滤器

javascript - javascript中判断对象是否有属性和值

javascript - Promises 和 Deferred : . did() 和 .then() 被调用,尽管 .resolve() 在 Deferred 对象上被调用

javascript - 使用 jQuery.Deferred 代替变量?

javascript - 动画项目,而其他项目具有 JQuery 类

javascript - Highcharts 列的日期时间标签

jQuery:按顺序执行函数数组(延迟和非延迟)

javascript - jQuery $.when 延迟不工作

javascript - jQuery Ajax 等待每个函数