gpt4 book ai didi

javascript - 如何使 jquery "$.post"请求同步

转载 作者:IT老高 更新时间:2023-10-28 11:08:51 27 4
gpt4 key购买 nike

我一直在谷歌上搜索这个并避免在我的错误修复列表中出现这个错误很长时间了,但我终于到达了列表的末尾,最后我必须让函数返回 true/false说明验证是否成功。

我正在使用 ajax 将某些字段与数据库中已经存在的字段进行比较,默认情况下 $.post() 方法会异步执行它的操作。

我在调用 onSuccess 中设置了一个变量,因此调用方法没有得到响应,所以我的所有 js/jquery 在 pageLoad 上都失败了......我更喜欢如果我仍然可以继续使用 $.post 方法。

最佳答案

jQuery < 1.8

我建议您使用 $.ajax() 而不是 $.post(),因为它更可定制。

如果你正在调用 $.post(),例如,像这样:

$.post( url, data, success, dataType );

你可以把它变成它的 $.ajax() 等价物:

$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType,
async:false
});

请注意 $.ajax() 参数对象末尾的 async:false

这里有 $.ajax() 参数的完整详细信息:jQuery.ajax() – jQuery API Documentation .


jQuery >=1.8 "async:false"弃用通知

jQuery >=1.8 不会在 http 请求期间阻塞 UI,因此只要处理请求,我们就必须使用变通方法来停止用户交互。例如:

  • 使用插件,例如BlockUI ;
  • 在调用 $.ajax() 之前手动添加覆盖,然后在调用 AJAX .done() 回调时将其移除。

请查看this answer举个例子。

关于javascript - 如何使 jquery "$.post"请求同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com