我发现自己现在必须经常在jQuery中等待AJAX。问题是,我必须做循环和废话等待它们。有什么方法可以让我在执行代码之前等待AJAX事件完成(最好不要创建额外的函数)?
答案 0 :(得分:1)
通常,如果在重新调用AJAX请求之前可能无法完成重复的AJAX请求,我会使用一个标志来防止重叠请求。
首先,定义标志并将其初始设置为false。无论何时发送AJAX请求,请检查此标志是否为false。如果是,则继续执行请求 - 而不是在将标志设置为真实之前。完成AJAX请求后,将标志设置为false。
使用上述方法,一次只能运行一个AJAX查询实例。我确定jQuery必须能够看到是否已经处理了AJAX请求,但我是MooTools的人。
答案 1 :(得分:0)
您使用什么方法进行AJAX调用?如果使用内置$.ajax()
,则可以将success
属性设置为回调函数,该函数将在AJAX请求成功返回后调用。还有complete
回调,无论是成功还是失败,都会被调用。
答案 2 :(得分:0)
来自jQuery API:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
您还可以使用完整的选项。