我无法得到任何警报(data.title); $(document).ready()工作正常

时间:2012-03-19 10:20:54

标签: jquery json

我无法通过以下代码解析json数据,它甚至没有发出任何警告请告诉我哪里有错误 当我在数组中使用json内容时,没有问题,但是当我将它附加到文件时没有haapens

$(document).ready(function(){
        $.getJSON("dat.js",function(data){
            $.each(data.posts,function(i,data){
                alert(data.title);
            });
        });

});

我的json文件是

{

"posts": 
[
{ 
"title":"ajax | Programming ", 
"url":"hello" 
}, 
{ 
"title":"jQuery and Ajax Demos Pard - 3", 
"url":"how are you"
}, 
]
}

4 个答案:

答案 0 :(得分:2)

你的json格式不正确(不幸的是,这导致了无声错误)。你必须删除最后一个逗号

使用jslint:http://www.jslint.com/

进行检查

这是代码清理

{
  "posts": [{
    "title":"ajax | Programming ",
    "url":"hello"
  },
  {
    "title":"jQuery and Ajax Demos Pard - 3",
    "url":"how are you"
  }]
}

答案 1 :(得分:2)

您的代码是正确的(请检查http://jsfiddle.net/mX4E2/),因此问题必须是$.getJSON无法访问您的文件。您是否使用过firebug检查过呼叫是否正确?

编辑 - 删除json中的最后一个逗号,否则IE会抱怨

答案 2 :(得分:1)

JavaScript是否正确加载了您的JSON内容。你在浏览器检查器中检查过了吗?试试console.log(数据);在每个街区之前和之内。

fabrizio-calderan是对的!

答案 3 :(得分:1)

确保您从网络服务器提供文件(它只是让测试更容易)。 并尝试压扁你的json文件所以它不包含换行符和制表符号等,并删除post数组中的最后一个逗号(你只使用逗号分隔对象不显示数组结束)

也是dubbel检查文件url:)