gpt4 book ai didi

jquery - 为什么这个简单的 jQuery getJSON 不能在 IE8 中工作?

转载 作者:行者123 更新时间:2023-12-03 22:54:46 26 4
gpt4 key购买 nike

我有一个非常标准的 AJAX 请求:

$.getJSON('/products/findmatching/38647.json', {}, function(JsonData){
var tableHtml = '';
var x;

for (x in JsonData.matchingProds) {
var matchingProd = JsonData.matchingProds[x];
var buyMessage;

if ( x == 0 ) {
buyMessage = 'Buy Cheapest';
}
else {
buyMessage = 'Buy from this shop';
}

tableHtml = tableHtml + '<tr><td><img height="40" src="' + matchingProd.img_url + '" alt="' + matchingProd.name + '" /></td> \
<td><a href="' + matchingProd._page_url + '">' + matchingProd.name + '</a></td> \
<td><a href="' + matchingProd._merchant._url + '">' + matchingProd._merchant.title + '</td> \
<td align="right">&pound;' + matchingProd.price + '</td> \
<td><a href="' + matchingProd.referral_url + '">' + buyMessage + '</a></td></tr>';
}

$('#matchingproducts tbody').html(tableHtml);

$('#loading').delay(1000).fadeOut();
});

它在除 IE 之外的所有浏览器中都能正常工作。我不再用 IE 做太多事情,因为我有 Mac,但我在 XP 虚拟机上有 IE8。使用其内置的调试工具并没有真正帮助(它们不是很好)。我唯一能理解的是,在某些时候我得到了“预期标识符”错误。

这可能在返回的 JSON 数据中吗?我如何从 IE 的角度检查这些数据?

最佳答案

好吧,我明白了。有人建议尝试非缩小版本的 jQuery。我这样做并单步调试了 IE8s Javascript 调试器。在某个时刻,出现了以下错误:

Could not complete the operation due to error c00ce56e.

谷歌搜索一下发现这是我为 JSON 数据设置的字符集声明。在 PHP 中,这是通过以下方式完成的:

header ( 'Content-Type: text/javascript; charset=utf8' );

事实证明,IE对于字符集引用( http://forums.asp.net/t/1345268.aspx#2732852 )非常讲究,所以我将其更改为:

header ( 'Content-Type: text/javascript; charset=UTF-8' );

嘿,快点,它就像一个魅力。感谢你们的帮助,你们再次为我指明了正确的方向!

关于jquery - 为什么这个简单的 jQuery getJSON 不能在 IE8 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517608/

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