$ .getJSON()不适用于Chrome,为什么?
问题描述:
此代码在FF和safari中正常工作,不在Chrome中为什么?
$.getJSON('s.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class' : 'my-new-list',
html : items.join('')
}).appendTo('body');
});
答
这种方法可能仍然不起作用,但会随着它们的创建而逐渐追加元素,从而为您提供更好的调试机会。
var $ul = $('<ul></ul>').appendTo('body').addClass('my-new-list');
$.getJSON('s.json', function(data) {
$.each(data, function(key, val) {
$('<li></li>').appendTo($ul).attr('id',key).html(val);
});
});
检查DOM,看它有多远。
答
我有完全相同的问题,问题是我的JSON无效(它有隐藏的制表符)。 Chrome似乎比其他浏览器更为严格。
检查与.error
的功能,例如响应,
$.getJSON('s.json', function(data) {
//...
})
.error(function(data) {
console.log("Error!");
});
您也可以尝试验证的东西输出像http://jsonlint.com/
答
运行的Web服务器应用程序。它解决了这个问题。
你可以定义'不在铬,为什么?'你有任何错误?异常? – 2012-04-02 05:10:08
你可以设置我们可以调查的演示吗? – Starx 2012-04-02 05:13:20
你能说你的jQuery版本吗? – 2012-04-02 05:22:48