2014-09-06 42 views
2

我有SPA帆應用程序。所有路線我的SPA應用程序,首先進入歡迎行動控制器。風帆給「get」參數賦予404。

'/*' :{ 
    controller : 'Web/welcomeController', 
    skipAssets : true 
} 

所有其他路由使用類似api的ajax請求。這條路線'/ *'僅用於第一個渲染頁面。所有其他人提供angularjs。在那裏,路線之一有點參數。

http://localhost:1337/search?lat=40.714545&long=-74.007112 

而且我得到404錯誤。所有這些都是由skipAsset參數引起的,它忽略了帶有內容點的url。

我需要控制器也跳過像圖片,JS等資產資源。但正確處理請求與獲取參數內容點/?lat=40.714545&long=-74.007112

+0

請記住這個網站是英文的,請考慮找人重新編寫你的問題。儘管通過查看代碼和解釋的部分內容可以理解,但沒有什麼意義,這會降低您得到幫助的機會 – Devin 2014-09-06 20:21:55

+0

刪除控制器中的「skipAssets:true」,或者創建一個新的路線來處理您的搜索,並且不會有'skipAssets:true'。 – Sgnl 2014-09-06 20:50:08

+0

所有其他路線使用像API,阿賈克斯請求。這條路線'/ *'僅用於第一個渲染頁面。所有其他人提供angularjs。所以我需要控制器也跳過像圖片,JS等資產資源。但正確處理請求,例如這個'search?lat = 40.714545&long = -74.007112'。對不起,我的英文不好,嘗試重新寫問題。 – 2014-09-06 21:36:27

回答

2

skipAssets應該可能被固定爲忽略查詢字符串。但在此期間,您可以使用skipRegex而不是skipAssets。從Sails.js docs on custom routes

如果跳過含有點每個URL過於寬鬆,或者你需要 路由的處理程序基於不同的標準完全, 可以使用skipRegex被跳過。此選項允許您指定常規表達式或正則表達式數組,以匹配請求URL ;如果任何匹配成功,則跳過處理程序。 請注意,與用常規 表達式綁定處理程序的語法不同,skipRegex需要實際的RegExp對象,而不是字符串。

因此,像:

'/*' :{ 
    controller : 'Web/welcomeController', 
    skipRegex : /^[^?]+\./ 
} 

很可能就足夠了。