我有一个在用户注销时执行的函数。它包含一个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) {
}
});
}