gpt4 book ai didi

javascript - ajax 在 Safari 上不一致

转载 作者:行者123 更新时间:2023-12-03 08:50:36 24 4
gpt4 key购买 nike

-编辑-

我尝试使用 error: function(jqXhr, status, error) 添加一些错误处理到失败的函数,但是 jqXhr.responseText 是空的,所以我想我我仍然没有正确处理错误。

-/编辑-

我是 ajax 新手,必须使用这两个现有的 ajax 函数修改现有网站,这两个函数在 Chrome、IE 和 FF 中都可以正常工作,但只有第一个可以在 Safari 中工作。第二个失败了,但是错误处理程序(我猜它没有正确设置?)并没有告诉我太多信息:

// works in each browser
$.ajax({
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetCountries',
dataType: 'xml',
success: parseCountries,
error: function(){
$('.errorMessage').append('<p>' + errorMessage + '</p>');
}
});

// does not work in Safari
$.ajax({
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetStandardTexts?page=login',
dataType: 'xml',
success: displayRegisteredAlert,
error: function(jqXhr, status, error){
var err = eval("(" + jqXhr.responseText + ")");
alert(err.Message);
}
});

我能看到的它们之间唯一真正的区别是第二个包含的 URL 和附加参数 ?page=login

最佳答案

我终于让它发挥作用了。我不完全确定为什么,但添加 async:false 解决了 Safari 的问题。其他浏览器不需要。

$.ajax({
async: false, // only required on Safari
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetStandardTexts?page=login',
dataType: 'xml',
success: displayRegisteredAlert,
error: function(jqXhr, status, error){
var err = eval("(" + jqXhr.responseText + ")");
alert(err.Message);
}
});

关于javascript - ajax 在 Safari 上不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693027/

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