2013-10-17 52 views
1

您好,我試圖讓underscore.js試圖用下劃線(在Chrome中的異常標記)來解析JSON

我有一個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?

謝謝!

+0

我認爲json的開放和結束括號裏有'{}'和'[]',其中數組 – gwillie

+3

那不是強調這是一個連字符! – meda

+0

避免 - 你的字符鍵 –

回答

2

原來問題出在url參數。

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

錯誤是Chrome拋出:

Uncaught SyntaxError: Unexpected token , 

故障排除的一個小時後,我才發現: 鉻對緩存GET請求的錯誤。

它可以通過在我的Ajax調用設置

cache: false 

是固定的!

還在上創建目錄並調用該目錄url似乎正在工作。

url : "json/users.json" 

感謝那些試圖幫助的人。