gpt4 book ai didi

jquery - jquery ajax成功中的location.href未触发

转载 作者:行者123 更新时间:2023-12-01 01:23:41 25 4
gpt4 key购买 nike

我正在使用 jquery 的 $.ajax 将 json 数据作为 post 请求发送到我的内部服务器。我能够得到响应,但在成功功能上,虽然 console.log 可以工作,但不能立即行 location.href='/users';即使我成功地单独拥有 location.href ,它也没有被触发。下面是我的代码示例

<script type='text/javascript'>
function submitData() {
var payload = {
'fullname': $('#fullname').val(),
'username': $('#username').val(),
'email': $('#email').val(),
'password': $('#password').val(),
};

var onSuccess = function (data, textStatus, jqXHR) {
console.log(jqXHR.status);
location.href= "/thankyou.html";
};


$.ajax({
type: 'POST',
async: false,
url: '/users',
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify(payload),
success: onSuccess,
});
}
</script>

我也尝试过 window.location、window.location.href、window.location.assign(),但在上面的代码中似乎都不起作用。但奇怪的是,当我为 ajax 定义完整的回调并发出警报时,成功的 location.href 很少起作用(但不是每次)。我也浏览了类似的问题并尝试了这些答案,但似乎没有解决这个问题。当 async=true 时,我的 Flask 服务器上会出现 Broken Pipe 错误。

最佳答案

尝试这样调用它:

$.ajax({
type: 'POST',
async: false,
url: '/users',
contentType: 'application/json',
dataType: 'json',
data: JSON.stringify(payload),
success: function(data, textStatus, jqXHR){
console.log(jqXHR.status);
window.location.href= "/thankyou.html";
}
});

此外,您的 ajax 调用代码在 success: 事件中有一个 ,,这是一个错误。

关于jquery - jquery ajax成功中的location.href未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845662/

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