2

こんにちは、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で動作しますか?

ありがとうございました!

4

1 に答える 1

3

問題はurlパラメータにあることが判明しました。

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

Chrome によってスローされるエラー:

Uncaught SyntaxError: Unexpected token , 

1 時間のトラブルシューティングの後、 Chrome には GET リクエストのキャッシュに関するバグがあることがわかりました。

設定することで解決できます

cache: false 

私のAjaxコールで!

また、ディレクトリを作成し、そのディレクトリをurlで呼び出すことも機能しているようです。

url : "json/users.json"

助けようとした人に感謝します。

于 2013-10-17T13:24:04.413 に答える