我需要一些关于ajax调用的帮助,我有async true的问题。所以我在html页面上有表单,我正在使用ajax调用来调用将脚本发送到电子邮件的php脚本,然后将值返回到页面并显示有关返回值的通知。到目前为止,一切都运行正常:
$.validator.setDefaults( {
submitHandler: function () {
$.ajax({
type: 'post',
url: 'Link - script to send info and returns the value',
data: $('form').serialize(),
async: false,
success: function (result) {
if (result == '1') {
$("#error").hide();
$("#validate").hide();
$("#poslano").show();
}else {
$("#error").show();
}
},
});
}
} );
因此,在所有输入都正确后,表单如果提交,则ajax脚本的这一部分将数据发送到脚本并获取返回的值。但是,如果我将async设置为false,即使表单正确,我也总是会收到此错误:
主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助,请查看https://xhr.spec.whatwg.org/。
但如果我将异步设置为true,则没有任何反应。我只是收到错误消息。我该如何解决这个问题?非常感谢提前。
答案 0 :(得分:0)
感谢您的帮助。
解决
async:false;
更改为
async:true;
现在它在控制台中不再有错误。
再次感谢你。
但是如果我使用async:true;如果我正确等待结果,浏览器不会冻结,在这种情况下我该如何处理结果呢?惠特活动?