2015-09-23 166 views
0

我目前正試圖從特定路由規則的表單中捕獲張貼的值。 因爲所有關於此的其他SO帖子都不起作用,我想再次提問。您是否已經在您的項目中進行了整理和實施? [email protected]有解決方案嗎?鐵路路由器解析發佈值

this.request.body 

以上航線規則內的代碼始終返回undefined。

Router.route('/register', function(){ 
    console.log(JSON.stringify(this.request.body)); 
    //this.render('test',{data:{data:this.request.body.username}}) 

}); 







//SERVER ONLY 
if (Meteor.isServer) { 
    Meteor.methods({ 
    'addSong': function(songName) { 
     var userId = Meteor.userId() 
     songs.insert({ 
     userId: userId, 
     name: songName 
     }) 
    } 

    }) 

    Router.onBeforeAction(Iron.Router.bodyParser.urlencoded({ 
    extended: true 
    })); 

} 
+0

我想這是服務器端可以告訴我們一些代碼嗎? –

回答

0

鐵路由器引導lets us knowthis.requestthis.response是 「的NodeJS請求和響應對象」。

如果你看看爲req.body一些文檔,你會發現:

默認情況下,它是不確定的,而當你使用 身體解析的中間件如身體解析器和填充multer。

Iron-router's guide

IR明文的身體解析器可以在Iron.Router.bodyParser。

所以你有它!如果你想要填充this.request.body,你應該添加:

Router.onBeforeAction(Iron.Router.bodyParser.urlencoded({ 
    extended: true 
})); 
+0

Dosnt工作!未定義返回 – narek