2013-02-20 81 views
0

的JavascriptJSON錯誤

ready(function(){ 
     request.get("json/pie7.json", { 
      // Parse data from JSON to a JavaScript object 
      handleAs: "json" 
     }).then(function(data){ 
      arrayUtil.forEach(data.items, function(item,i){ 
       itemArray.push(item.value); 
      }); 
       alert(itemArray) 
     }, 
     function(error){ 
      alert(error); 
     }); 

}); 

pie7.json

{ 
    "title":"JSON Sample Data", 
    "items":[{ 
     "name":"text", 
     "value":33 
    },{ 
     "name":"integer", 
     "value":100 
    },{ 
     "name":"float", 
     "value":5.65 
    },{ 
     "name":"boolean", 
     "value":56 
    }] 
} 

這說明誤差:

SyntaxError: JSON.parse: expected property name or '}' 

但是,當我重新命名pie7.json到任何文件名稱如sample.json並將javascript的請求路徑更改爲相同的名稱,那麼它的工作原理沒有問題。
那麼,爲什麼當我把文件名添加到pie7.json時會出錯?

+0

我懷疑你在講這個故事。您在嘗試在瀏覽器調試器(firebug,chrome的開發工具等)中觀看網絡選項卡時,是否嘗試了抓取?服務器響應在這一點上看起來是否正確? – 2013-02-20 10:45:52

回答

0

我猜你的瀏覽器會緩存pie7.json。您可以將preventCache: true添加到請求對象以防止緩存。

request.get("json/pie7.json", {  
    handleAs: "json", 
    preventCache: true 
})