1

我正在尝试使用$.when$.then函数进行一些 AJAX 调用。我正在使用这些函数来填写 atemplate等,同时,我想填写表格,我将填写一些消息,例如

“正在加载数据..请稍候”

我发现有一个progress函数,但它只适用于notify. 我搜索了社区,发现它与promise通话一起使用。我并没有真正promise理解延迟对象在我的脚本中是如何工作的以及它是如何工作的。

这是我的脚本:

         $.when(e.get_info('get_utente'))
            }).then(function(data){
                 $('#username').val(data.username);
                 $('#email').val(data.email);
         })

我想在这两个电话之间插入进度。抱歉,如果有一些误解,但是直到现在我一直在使用ASYNC : false,在我注意到这是一个非常糟糕的主意之后,我发现了延迟对象,但我根本不明白这是逻辑

4

1 回答 1

3

进度回调此时并不真正适用于 ajax 请求。

相反,请在$.when.

另外,你根本不需要$.when,只要做

$("#loading").show();
e.get_info('get_utente').done(function(data){
    $("#loading").hide();
    $('#username').val(data.username);
    $('#email').val(data.email);
});

$.when仅当您需要在 2 个或更多 Promise 对象完成时运行某些东西时才需要。对于单个 Promise 对象,不需要它。

于 2013-04-04T19:11:24.687 回答