【发布时间】:2018-01-31 09:02:20
【问题描述】:
我是 jquery 星球的新手,我不知道如何解决我的问题。我已经阅读了类似问题的所有答案,但没有一个对我有用。我在 MAC OS X 上工作,因此在 Safari 上使用 JQuery 2.1.1,但最终我的平台将在线共享,并且必须与其他浏览器兼容。
目的:我想显示一个包含我的加载动画的页面。但是我的 JQuery 函数包含一个带有 async:false 模式的 ajax 可执行文件,以便能够返回执行脚本的响应。所以我不能使用beforeSend 和complete 选项。我尝试使用在post 上找到的解决方案。不幸的是我的动画没有显示
HTML:
<form id="myRun" method="post" action="" enctype="multipart/form-data">
... SOME ACTIONs ...
<input class="demo" type="button" id="runner" value="Submit">
</form>
<div class="preloader" id="run_loader"><?php include('map/run_loader.php');?></div>
JS:
// Run platform
$('#runner').click(function() {
$('#run_loader').show();
setTimeout(function() {
var results = function(){
$.ajax({
url : "php/runner.php",
type: "post",
global: false,
async:false,
data : $("#myRun").serializeArray(),
success: function (response) {
//alert(response);
//window.location.href = response; *** DOESN'T WORK HERE ***
$('#run_loader').hide();
res = response;
}
});
return res;
}();
}, 0);
window.location.href = String(results);
});
问题:您能帮我运行这个加载页面吗?你对我的代码有什么其他的改进吗?
提前致谢
【问题讨论】: