2017-07-07 143 views
1

下面我有我保存爲一個flipkart.json JSON文件:未捕獲的SyntaxError:無效的或意外的標記的script.js:

flipkart = '[{ 
     "signup1": 
     { 
       "firstname": "ravi", 
       "lastname" : "kota", 
       "mobileno" : 9555558039, 
       "DOB"  : "19-Mar-1980", 
       "emailid" : "[email protected]", 
       "password" : "password" 
      }}]'; 

我寫的可以看到下面的JavaScript文件,我得救爲的script.js:

function load() 
{ 
    var mydata = JSON.parse(flipkart); 
    //alert(mydata[0].firstname); 
    //alert(mydata[0].lastname); 
    alert(ravikota); 

} 

而我的HTML代碼:

<html> 
<head> 
    <title>askyb - Load JSON File Locally by Javascript Without 
    JQuery</title> 
    <script type="text/javascript" src="C:\Users\Kota 
     Ravi\Desktop\rainbow\flipkart.json"></script> 
    <script type="text/javascript" src="C:\Users\Kota 
    Ravi\Desktop\rainbow\script.js"></script> 
    </head> 
    <body onload="load()"> 
    askyb - Load JSON File Locally by Javascript Without JQuery 
    </body> 
</html> 

當我試圖在同一打開HTML文件目錄,HTML的控制檯給出了錯誤爲:

Uncaught SyntaxError: Invalid or unexpected token 
    script.js:3 Uncaught ReferenceError: flipkart is not defined 
    at load (script.js:3) 
    at onload (rainbow.html:7) 

我想知道爲什麼我的flipkart.json文件沒有被控制檯識別。謝謝。

+0

JSON包裹在大括號裏,{'flipkart'='[]'}? – Fashim

+1

json不允許用'='進行分配,所以它是錯誤的語法。 –

回答

0

您的JSON無效,如果您希望在不使用Javascript的情況下包含它,那麼您在技術上只是創建一個包含對象數組的文件。 JSON文件不能像腳本一樣包含在頁面中,然後在您嘗試完成時引用。

另外,如果你要創建它作爲有效的JSON,它將不得不看起來更像這樣。但在你的情況下,這不會解決問題。

[ 
    { 
    "signup1": { 
     "firstname": "ravi", 
     "lastname": "kota", 
     "mobileno": 9555558039, 
     "DOB": "19-Mar-1980", 
     "emailid": "[email protected]", 
     "password": "password" 
    } 
    } 
] 

讓我們來修復你的代碼。首先,重命名flipkart.jsonflipkart.js和更改腳本包含在HTML首先包括它:

flipkart = [{ 
     "signup1": 
     { 
       "firstname": "ravi", 
       "lastname" : "kota", 
       "mobileno" : 9555558039, 
       "DOB"  : "19-Mar-1980", 
       "emailid" : "[email protected]", 
       "password" : "password" 
      }}]; 

這將創建一個名爲flipkart全局變量可以從其他腳本在你的頁面訪問和任何地方。我建議讀一下全局變量的缺點,你的方法雖然可行但是有缺陷。

在裏面,我們正在創建一個數組並填充一個對象。這只是一個標準的數組和Javascript對象,它不是JSON。

然後最後的script.js內側var mydata = flipkart;或更好的替換此行var mydata = JSON.parse(flipkart);然而,只是參考flipkart的情況下直接在腳本創建mydata變量。

+0

實際上我提到了一段代碼,但我的原始文件有680行,所以我創建了一個json文件,但根據您的建議,似乎沒有.JSON文件,我應該只在flipkart.js文件中插入所有代碼嗎? – ravi

+0

是的。你希望你的數據在一個單獨的文件中,分配給一個變量。然後,您想先包含該文件(flipkart.js),然後在隨後的腳本中訪問您創建的變量。你不需要'JSON.parse'部分,因爲你不解析JSON。 –

+0

謝謝你的工作。 – ravi

相關問題