我一直在谷歌上搜索这个并在我的错误修复列表中避免这个错误很长时间了,但我终于到达了列表的末尾,我必须让函数返回 true/false 到最后一个说明验证是否成功。
我正在使用 ajax 将某些字段与数据库中已经存在的字段进行比较,默认情况下,该$.post()方法会异步执行它的操作。
$.post()
我在调用中设置了一个变量onSuccess,因此调用方法没有得到响应,所以我所有的 js/jquery 在 pageLoad 上都失败了......如果我仍然可以继续使用该$.post方法,我会更喜欢。
onSuccess
$.post
jQuery < 1.8
我可以建议您使用,$.ajax()而不是$.post()因为它更可定制。
$.ajax()
如果你打电话$.post(),例如,像这样:
$.post( url, data, success, dataType );
你可以把它变成它的$.ajax()等价物:
$.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType, async:false });
请注意参数对象async:false末尾的。$.ajax()
async:false
在这里,您可以获得参数的完整详细信息$.ajax():jQuery.ajax() - jQuery API 文档。
jQuery >=1.8 “async:false” 弃用通知
jQuery >=1.8 不会在 http 请求期间阻塞 UI,因此只要处理请求,我们就必须使用变通方法来停止用户交互。例如:
.done()