2016-09-23 77 views
-1

我正在使用MapplicjQuery插件爲Rails中的建築物構建簡單的尋路應用程序。如何在Rails中通過jQuery調用JSON文件?

腳本要求它調用像這樣一個JSON文件:

$('#floor-5').mapplic({ 
    source: 'floor-5.json', 
    height: 1000, 
    minimap: false, 
    sidebar: true, 
    hovertip: true, 
    developer: false, 
    maxscale: 3 
}); 

我在app/assets/json/floor-5.json JSON文件。

我認爲jQuery腳本試圖使用AJAX,我知道在Rails中存在問題。

JS和CSS文件都通過資產管道正確調用,但我不確定如何通過資產管道正確訪問所需的JSON文件。

JSON文件然後加載它希望通過AJAX使用的圖像:

{ 
    "mapwidth":"1080", 
    "mapheight": "1000", 
    "levels": [ 
    { 
     "id" : "floor-5", 
     "map" : "/assets/images/floor-5.png", 
     "minimap" : "/assets/images/floor-5.png" 
     } 
    ] 
} 

如何調和這些AJAX與資產管道調用?

+1

AJAX如何解決Rails問題?無法理解這個問題。你是否試圖在靜態文件中引用JavaScript對象? –

+0

NickM,我在理解這個特定的jQuery插件如何引用文件時遇到了很多麻煩,而且它在Rails資產管道中對我來說沒有任何意義。所以這讓我很難制定一個問題。 jQuery位於使用AJAX引用源JSON文件的視圖中,JSON文件使用AJAX再次引用圖像文件。這對我來說是一個陌生的結構,我不能籠統地圍繞它。我無法按照預期的方式工作,這會導致在DOM中加載圖像,並在圖像上放置了一些額外的控件。 – Allen

+0

更新:已解決。問題不是AJAX,它是無效的JSON。我使用了這個JSON驗證器並修正了錯誤:https://jsonformatter.curiousconcept.com/ – Allen

回答

0

您可能具有無效的JSON。如果您的資產全部位於Rails資產管道中的正確文件夾中,Rails應該沒有問題使用AJAX查找這些文件。然而,如果你有無效的JSON,它會拋出相同的錯誤,就好像它根本無法加載文件一樣。使用JSON驗證程序,看看是否解決了問題:https://jsonformatter.curiousconcept.com/