我试着了解我的错误在哪里,我找不到它:这是我的代码
的javascript:
$(document).ready(function(){
$.getJSON('ajax/data.json', function(data) {
$.each(data.results, function(i,item){
alert(item.foo);
});
});
});
和data.json文件:
{
"results":[
{
"foo": "The quick brown fox jumps over the lazy dog.",
"bar": "ABCDEFG",
"baz": [52, 97]
},
{
"foo": "The quick brown fox jumps over the lazy dog.",
"bar": "ABCDEFG",
"baz": [52, 97]
},
]
}
在IE7,FF中正常工作,但在IE8中不起作用
你能帮助我,这里有什么不对吗?
PS:使用1.4.3 jquery版本
谢谢!
答案 0 :(得分:3)
你有无效的JSON,一个尾随的逗号:
},
这是非法的JSON,除了IE之外的所有浏览器都可以容忍。
答案 1 :(得分:1)
你的问题是你正在使用alert javascript函数进行调试,这是一个阻塞调用。它改变了javascript的行为。出于调试目的,使用jQuery将项目添加到ul或使用firebug进行调试。
$(document).ready(function(){
$.getJSON('ajax/data.json', function(data) {
$.each(data.results, function(i,item){
$('<li>').text(item.foo).appendTo('#results');
});
});
});
<body>
<ul id="results">
</ul>
</body>
在FF和IE8中使用这种方法对我有用。