gpt4 book ai didi

jQuery IE9 JSON.SyntaxError 解析错误,但 JSON 有效

转载 作者:行者123 更新时间:2023-12-01 00:20:14 26 4
gpt4 key购买 nike

我有一些 jQuery(1.6.2,最新稳定)代码,可以在 Chrome、Firefox、Safari、IE7 和 IE8 中运行...但 IE9 无法解析我的 json ajax 响应。 json 是有效的,我已经通过 http://jsonlint.com/ 运行它

$.ajax({
url: lookupURL,
dataType: "json",
cache: false, // don't cache the result
contentType: "application/json", //tell the server we're looking for json
success: function(data) {
// do stuff with result
},
error: function(xhr, errorString, exception) {
alert("xhr.status="+xhr.status+" error="+errorString+" exception=|"+exception+"|");
}
});

错误处理程序是 jQuery 调用的一个(仅限 IE9)。 xhr.status=200、errorString=parseerror 和Exception=SyntaxError JSON.parse

我的 json 是有效的,我什至使用最终简单的 json 字符串进行了检查:

{"foo":"bar"}

我已经使用 xhr.responseText 验证了 json 上没有前导或尾随空格。

为什么在 IE9 中会失败?

最佳答案

发现问题了。我正在使用的系统是一个相当大的 CMS 和电子商务框架,因此他们在自己的库中有很多 javascript。在他们的一个 js 库的深处,他们正在替换全局 JSON 对象并提供他们自己的 JSON.parse 实现。看起来它是来自 json.org 的 json2 的较旧版本和/或被黑客攻击的版本。之前尝试解决问题时,我曾尝试将 json2 安装为 JSON 对象,但没有成功...但事实证明,他们随后用他们的 json2 破坏了我的 json2。我将 json2 的安装移至最后加载的 javascript,现在它可以正常工作了。我不知道 IE9 是唯一受到影响的浏览器...但就是这样。

关于jQuery IE9 JSON.SyntaxError 解析错误,但 JSON 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7182732/

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