php – 使用AJAX工作异步的JQuery加载程序:false
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用AJAX工作异步的JQuery加载程序:false,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1959字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用AJAX工作异步的JQuery加载程序:false](/upload/InfoBanner/zyjiaocheng/806/ceff020e8fb941248de05f61dddaf782.jpg)
我是jquery星球的新手,我不知道如何解决我的问题.我已经阅读了类似问题的所有答案,但它们都不适合我.我使用的是MAC OS X,因此使用JQuery 2.1.1进行Safari,但最终我的平台将在线共享,并且必须与其他浏览器兼容.
目的:我想显示一个包含我的加载动画的页面.但是我的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);
});
问题:你能帮我运行这个加载页面吗?您对我的代码有任何其他意见以改善自己吗?
提前致谢
解决方法:
您的问题完全是由使用async:false引起的.原因是因为这会阻止浏览器UI在请求进行时更新,从而导致用户相信浏览器已崩溃或挂起.因此,这是一种非常糟糕的做法,除非绝对没有其他选择,否则不应该使用它.如果您检查控制台,您甚至会看到浏览器警告您不要使用同步调用.
您的注释中的window.location.href在成功处理程序中不起作用的断言是false,它将正常工作.如果它不适合您,那么从服务器端代码返回到您需要调查和调试的AJAX调用的错误.
要改进JS逻辑,应该通过执行取决于成功事件处理程序中AJAX调用结果的所有逻辑,更有效地使用异步回调模式.您也不需要超时.试试这个:
$('#runner').click(function() {
$('#run_loader').show();
$.ajax({
url: "php/runner.php",
type: "post",
data: $("#myRun").serializeArray(),
success: function(response) {
$('#run_loader').hide();
window.location.assign(response);
}
});
});
内容总结
以上是互联网集市为您收集整理的php – 使用AJAX工作异步的JQuery加载程序:false全部内容,希望文章能够帮你解决php – 使用AJAX工作异步的JQuery加载程序:false所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。