2014-12-02 30 views
0

我對這一切都很陌生,所以這可能只是我無法編碼。我正嘗試使用href將請求傳遞給控制器​​。req.param undefined,因爲OriginalUrl在Express/Sails不接受Orientdb @rid

href="/user/edit/<%= user.id %>" 
href="/user/edit/#12:0" 

其中用戶標識來自Orientdb數據庫。 @rid格式的一個例子是#12:0

當我向控制檯輸出請求時,我可以看到我只是以OriginalUrl的方式獲得「user/edit」。它似乎不喜歡#和:符號。這是預期的行爲還是有其他不妥之處?

回答

0

我對node.js一無所知,但可能這是由#符號引起的,它是URL中的一個特殊符號(fragment identifier)。使用你不應該使用哈希字符的REST API,請參閱documentation

+0

感謝您的建議。它並沒有奏效,但它讓我走上了解決問題的正確軌道。所以謝謝。 – dilzeem 2014-12-02 18:31:44

+0

請參閱文檔,http://www.orientechnologies.com/docs/last/orientdb.wiki/OrientDB-REST.html#document。使用REST API,你不應該使用哈希字符 – rmuller 2014-12-02 19:18:50

+0

沒錯,問題是不是Orientdb是sailsjs和的NodeJS的內部路由是造成這一問題的連接。 – dilzeem 2014-12-03 09:10:13

0

我沒能完全解決,但有一種變通方法,我很高興與現在。它涉及以下操作。

href="/user/edit/<%= user.id.substring(1) %>" 

這只是刪除字符串中的第一個字符。然後,當我需要通過user.id搜索時,然後添加哈希。