我有一个叫做的函数:
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
}
}
);
}
Run Code Online (Sandbox Code Playgroud)
在代码中,我多次调用"callAjax"X次,我想同步更新数据.它按预期完成,但有一个问题:loading项目没有显示在beforeSend函数中.如果我将async变为true,它可以正常工作,但更新不会同步完成.
我尝试了几件事但没有成功.我尝试在ajax调用之前加载加载指示器,如下所示:
function callAjax(url, data) {
// show loading div
$.ajax(
{
// same as above
}
);
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它不想显示加载指标.当我在beforeSend中输入"alert"并且在那种情况下出现加载指示符时,我注意到一个奇怪的行为,但我宁愿不弹出一个消息框.
有什么想法吗?