2017-06-08 62 views
2

我在自己的文件中有一個字符串數組,我正在使用它作爲我的客戶端Javascript中的變量。我一直在嘗試不同的$.getJSONfunction loadJSON(callback){}解決方案,但一切都讓我的錯誤GET http://localhost:3001/strings.json 404 (Not Found)從Javascript中導入數組文件

(我也有叫strings.js文件試了一下,得到相同的結果)

兩個strings.json文件和我的客戶端JavaScript文件位於/public/js/目錄中,所以我相當肯定它不是路徑問題。

的script.js

$.getJSON("strings.json", function(json){ 
    console.log(json); 
}); 

strings.json

["string 1","string 2","string 3", "string 4", "etc"] 

編輯:新增的實際上相關的代碼量小。我知道strings.json實際上並不是json,但它似乎是最合乎邏輯的文件類型。請讓我知道如果有更好的東西。

+0

請分享全部代碼 – brk

+0

當您將瀏覽器指向'http:// localhost:3001/strings.json'時會發生什麼? – Malvolio

+0

_「這兩個strings.json文件和我的客戶端JavaScript文件都在'/ public/js /'目錄中_,_」'GET http:// localhost:3001/strings.json 404(Not Found)' 「_你沒有從'/ public/js /'目錄請求資源。更改傳遞給'$ .getJSON()'的URL到'「http:// localhost:3001/public/js/strings.json」' – guest271314

回答

2

錯誤是這樣說的,你的文件找不到

您爲$.getJSON提供的路徑不正確,除非您將strings.json放置在網頁的同一目錄中。

嘗試將絕對路徑的功能,即:

$.getJSON("/public/js/strings.json", function(json){ 
    console.log(json); 
}); 

編輯:如果是在同一個目錄中已經,嘗試帶領路徑「./」來表示的路徑是同一目錄:

$.getJSON("./strings.json", function(json){ 
    console.log(json); 
}); 

編輯:最後,如果你仍然無法正常瀏覽,你也可以嘗試提交的路徑作爲參數來$.getJSON從你的服務器腳本來。如果您使用的ASP C#,例如,你可以使用:

currPath = Page.ResolveUrl("~/public/js/strings.json"); 

然後通過currPath作爲參數pathVal如下:

function getThis(pathVal){ 
     $.getJSON(pathVal, function(json){ 
      console.log(json); 
     }); 
     } 

或者等價的東西在PHP。請注意,雖然它可能會讓您的代碼變得混亂,但它可以工作。