2017-08-01 44 views
0

我正嘗試在Rails項目的ruby中讀取JavaScript中的服務器文件。Javascript讀取服務器文件GET http:// localhost:3000/public/uploads/goodj.json 404(未找到)

$.ajax({ 
    url: "/public/uploads/goodj.json", 
    success: function (file_content) { 
     console.log(file_content); 
    } 
}); 

,這會導致錯誤

GET http://localhost:3000/public/uploads/goodj.json 404(未找到)

我認爲服務器識別該請求作爲控制器的動作。

如何才能讓服務器瞭解這是讀取文件的請求?

回答

1

Rails guides

config.public_file_server.enabled配置的Rails從公開目錄提供靜態 文件。此選項默認爲true,但在 生產環境中,它被設置爲false,因爲用於運行應用程序的服務器 軟件(例如NGINX或Apache)應該替代地爲 服務靜態文件。如果您使用WEBrick在 生產模式下運行或測試您的應用(不建議使用 生產中的WEBrick),請將該選項設置爲true。否則,您將無法使用 頁面緩存和請求存在於公共 目錄下的文件。

而URL應該是/uploads/goodj.json而不是/public/uploads/goodj.json。所以代碼片段應該如下所示:

$.ajax({ 
    url: "/uploads/goodj.json", 
    success: function (file_content) { 
     console.log(file_content); 
    } 
}); 
相關問題