2013-04-04 37 views
1

我正在尝试使用$.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); 
     }) 

我想插入进步beetween这两个电话。 很抱歉,如果有一些误解,但“到现在我用ASYNC : false,之后我发现这是一个非常糟糕的主意,我发现了延期的对象,但我dindn't获得在所有它的逻辑

回答

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个或更多的承诺对象是完整运行的东西时才需要。对于单个承诺对象,它不是必需的。

+0

首先,很好的答案。你能更好地解释我使用$ .when的含义吗? – steo 2013-04-04 19:14:09

+0

$ .when适用于需要完成两个不同的ajax请求而不仅仅是一个ajax请求时执行某些操作的情况。你会得到一个处理程序,而不是每个处理程序的每个请求。 – 2013-04-04 19:17:54

+0

因此,如果我使用$ .when两个Ajax请求,它会等待两个完成? – steo 2013-04-04 19:20:10