尝试使用下划线解析JSON(Chrome上的意外令牌)

时间:2013-10-17 12:02:23

标签: javascript html ajax json underscore.js

您好我正在尝试掌握underscore.js

我有一个json文件如下:

[
{
    "name":"rocky",
    "last-updated": "Yesterday", 
    "age":"32"
},
{
    "name":"annie",
    "last-updated": "Today",
     "age":"31"
}
]

一个javascript函数:

    function getNames() {
        var users = $.ajax({
            url : "users.json",
            async : false
        });

        var names = _.map(JSON.parse(users.responseText),
            function(user) {
                return user.name
            });

        return names;

    }

它在IE上工作正常,但在Chrome上,它引发了我:

Uncaught SyntaxError: Unexpected token , 

在这一行:

var names = _.map(JSON.parse(users.responseText),function(user) {return user.name});

据我所知,这个错误是因为尝试解析对象而不是JSON字符串。我对吗?我该如何解决这个问题?它适用于IE?

谢谢!

1 个答案:

答案 0 :(得分:2)

原来问题是 url 参数。

 url : "users.json"
 url: "/users.json"

Chrome引发的错误:

Uncaught SyntaxError: Unexpected token , 

经过一个小时的故障排除后,我发现: Chrome存在缓存GET请求的错误。

可以通过设置

来修复
cache: false 

关于我的Ajax电话!

同样制作目录并在 url 上调用该目录似乎正在运作。

url : "json/users.json"

感谢那些试图提供帮助的人。