2014-11-04 100 views
5

我想通過POST數據從流星外部的鐵路由器路由,但它不工作。請求正文爲空。流星鐵路由器如何獲得POST數據

我已經嘗試輸出請求體來檢查數據是否存在,但它只是空的。

Router.route('/api/gatewaysusers', function() { 
     body = this.request.body; 
     console.log(this.request) 
     // this.response.write(body); 
     this.response.end("Call served"); 


}, {where: 'server'}) 

任何想法?謝謝。

+0

可能的重複[如何訪問流星中的請求參數?](http://stackoverflow.com/questions/11799079/how-do-i-access-request-parameters-in-meteor) – 2014-11-05 02:26:54

+1

@ChristianFritz它是不是重複的。這裏的代碼非常好,問題出在'鐵路由器'方面。 – 2014-11-05 08:16:06

回答

8

request.body是空的,因爲iron-router缺少負責提取網址編碼數據的中間件。這是一個BUG,這將有望在以後的版本中解決。現在你可以添加:

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

你的服務器上的某個地方,它應該可以正常工作。請查看here瞭解更多詳情。

+0

這是行得通的,謝謝。現在我可以使用this.request.body得到身體。 – DanteDiaze 2014-11-05 09:47:43

+2

這似乎是固定的,'this.request.body'現在有所有的數據沒有這個額外的電話。 – romaroma 2015-12-17 16:58:55

+0

@romaroma您是否確切知道在哪個版本的IR中解決了問題? – 2016-04-14 08:28:25

相關問題