gpt4 book ai didi

javascript - jQuery ajax 调用竞争条件?

转载 作者:行者123 更新时间:2023-11-28 19:21:33 27 4
gpt4 key购买 nike

我有以下 JavaScript 函数:

function deploy() {
$.ajax({
url: '/Theme/Deploy',
type: 'POST'
});
location.reload();
}

单击按钮时调用此函数。我想启动服务器调用然后立即刷新页面。当我使用上面的代码时,它永远不会调用服务器,它只会刷新页面。当我删除 location.reload() 调用时,它会成功调用。

是否存在竞争条件或在 ajax 调用之前重新加载页面的情况发生,即使它在代码中位于页面下方?

最佳答案

请求是异步的。这意味着 reload() 在请求完成之前被调用。

要实现您的要求,您应该将 location.reload() 放置在 AJAX 调用的 success 处理程序中,以便它在之后运行请求完成:

function deploy() {
$.ajax({
url: '/Theme/Deploy',
type: 'POST',
success: function() {
location.reload();
}
});
}

关于javascript - jQuery ajax 调用竞争条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28768196/

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