$。当电话时进度

时间:2013-04-04 19:06:31

标签: javascript jquery ajax asynchronous

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

  

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

我发现有progress个功能,但它仅适用于notify。我搜索了整个社区,发现它与promise电话一起使用。我没有真正理解promise以及延迟对象如何在我的脚本中工作。

这是我的剧本:

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

我想在这两个调用之间插入进度。 很抱歉,如果有一些误解,但“直到现在我正在使用ASYNC : false,并且在我注意到这是一个非常糟糕的主意后,我发现了延迟对象,但我根本没有得到它的逻辑

1 个答案:

答案 0 :(得分:3)

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

相反,在$.when之前执行“加载数据..请稍候”消息。

此外,您根本不需要$.when,只需执行

$("#loading").show();
e.get_info('get_utente').done(function(data){
    $("#loading").hide();
    $('#username').val(data.username);
    $('#email').val(data.email);
});
仅当需要在2个或更多承诺对象完成时运行时才需要

$.when。对于单个promise对象,不需要它。