Net :: HTTP.post_form无法发送参数

时间:2013-01-18 05:33:20

标签: ruby-on-rails node.js express socket.io net-http

您好我在node.js中使用rails和socket.io
我想要做的是使用Net :: HTTP.post_form发送一个参数在rails模型中获取参数在node.js文件中,即server.js

model send.rb

def self.push(userid)
   url = "http://socket.mydomain.com/push"
   res = Net::HTTP.post_form(URI.parse(URI.encode(url)),data)
end

server.js

app.post('/push', function (req, res) {
  console.log(req.param.userid)
});

req变量

req.ip =127.0.0.1
req.protocol= http
req.path = /push
req.host = socket.mydomain.com
req.param

我打印了所有的值但是param总是空的有没有解决方法呢?提前致谢! :d

1 个答案:

答案 0 :(得分:0)

在Express中,如果您发出使用app.use(express.bodyParser()),您可以通过req.body.searchText检索HTML表单中发布的值(HTTP POST)。请注意,HTML表单值来自req.body,而不是req.params。

话虽如此,我不确定当您在HTML表单上使用Socket.io而不是“普通”HTTP POST时,这些值是如何提交给服务器的。

我意识到这不是您问题的准确答案,但是想提一下如何处理“正常”的HTML表单值,以防它有用,并且这可以很长时间地包含在评论中。