我们正在进行多个ajax请求来“保存”Web应用程序中的数据,然后重新加载页面。我们遇到了这样一种情况:由于请求是异步进行的,因此在或之前页面重新加载,而ajax调用尚未完成。简单的解决方法是使用“async”:false选项进行ajax调用,强制同步调用。这似乎是有效的,但在任何调用执行之前运行的对话框框代码会延迟运行。
非常感谢您提供的任何建议!
另外需要注意的是,在重新加载之前放置一个alert()可以允许ajax请求的执行。(显然,alert延迟了重新加载足够长的时间,以便成功执行请求)
附带代码示例进行更新:
非常感谢您提供的任何建议!
另外需要注意的是,在重新加载之前放置一个alert()可以允许ajax请求的执行。(显然,alert延迟了重新加载足够长的时间,以便成功执行请求)
附带代码示例进行更新:
$(".submit_button").click(function(){
popupMessage();
sendData(); //the ajax calls are all in here
location.reload();
});
function sendData() {
//a bunch of these:
$.ajax({
"dataType": "text",
"type": "POST",
"data": data,
"url": url,
"success": function (msg) {}
}).done(function( msg ) {
});
}