2013-08-02 24 views
0

我正在將Chrome應用程序構建到Chrome應用程序中,除了一個問題外,一切都運行良好,我加載了JSON文件,並且它讀取每個字符,就像它是字符串一樣。本機Web應用程序並沒有這樣做:Chrome應用程序正在讀取JSON作爲字符串

$.get('plugins.json', function (list) { 
    for (var plugin in list) { 
     ...code stuff... 
    } 
}); 

...工作正常,但是當作爲Chrome的應用程序內運行吐出文件的每一個字符...

plugins.json:

{ 
    "MyPlugin": "plugindir" 
} 

變爲:

{,",M,y,P,l,u,g,i,n... 

任何幫助將不勝感激。

回答

3

$ .getJSON()代替$ .get()怎麼樣?

+0

我剛要回答我自己的問題。奇怪的是,它的工作原生本身,但不是在Chrome應用程序,必須做與設置'接受'頭'application/json'。 – Fluidbyte

0

它看起來像功能

$.get('plugins.json', function (list) { 

不知道它應該使用JSON工作。你可以嘗試檢查響應頭,也許內容類型是錯誤的。或者你可以試試這個

$.get('plugins.json', function (list) { 
    list = JSON.parse(list); 
    for (var plugin in list) { 
     .... 
+0

'JSON.parse'只能在Chrome應用程序構建中使用,因爲本機文件被解釋爲JSON,所以它會中斷本機應用程序。 '$ .getJSON'適用於這兩種情況。 – Fluidbyte

相關問題