我有一个函数叫做:
function callAjax(url, data) {
$.ajax(
{
url: url, // same domain
data: data,
cache: false,
async: false, // use sync results
beforeSend: function() {
// show loading indicator
},
success: function() {
// remove loading indicator
}
}
);
}
在代码中,我调用了"callAjax" X次,并且要同步更新数据。这样做的效果符合预期,但有一个问题:在beforeSend函数中没有显示加载项。如果将async设置为true,则可以解决此问题,但更新不是同步完成的。我尝试了几种方法都没有成功。我尝试在ajax调用之前放置加载指示器,如下所示:
function callAjax(url, data) {
// show loading div
$.ajax(
{
// same as above
}
);
}
但是不知道为什么它不显示加载指示器。我注意到当我在beforeSend中放置一个“alert”时出现了奇怪的行为,而在这种情况下加载指示器会出现,但我不想弹出消息框。
有任何想法吗?