gpt4 book ai didi

javascript - ajax 调用的行为因浏览器而异

转载 作者:行者123 更新时间:2023-12-03 00:57:28 25 4
gpt4 key购买 nike

我有以下函数在用户注销时执行。它包含一个 ajax 调用,其中包含成功和失败函数。我的网站使用 zendesk 的聊天小部件,该小部件提供 API 在聊天窗口上执行各种操作。成功注销后,我将执行 endChat() 函数来结束当前聊天。在 Chrome 中,这效果很好,我可以使用开发人员工具进行调试并观察执行指针命中 $zopim.livechat.endChat(); 但是,在 FireFox 和 IE 中,用户在此之前都会注销线曾经被击中。这些浏览器处理 ajax 调用的方式是否存在差异?

function logout(supressConfirmation, reason) {
var url = $("#LogoutStatus").data('url');
$.ajax({
url: url,
type: "Get",
data: {},
success: function (data) {
if (data.isUpdating && supressConfirmation != true) {
$("#logout-modal").modal('show');
}
else {
window.location.href = '@Html.Raw(Url.Action("Logout","Logout"))' + '?reason=' + reason;
}
zE(function () {
$zopim(function () {
$zopim.livechat.endChat();
});
});
},
error: function (failure) {
}

});
}

最佳答案

使用async:false,以便它等待 Ajax 调用返回,然后才移动到注销您的下一行。

所以你的修改版本是:

    url: url,
type: "Get",
data: {},
async:false,
success: ...

关于javascript - ajax 调用的行为因浏览器而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52764065/

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