在Node.JS中向HTTP POST请求添加参数

时间:2014-03-06 11:59:27

标签: javascript node.js http

我已经知道使用Node.js发送简单HTTP请求的方法如下:

var http = require('http');

var options = {
  host: 'example.com',
  port: 80,
  path: '/foo.html'
};

http.get(options, function(resp){
  resp.on('data', function(chunk){
    //do something with chunk
  });
}).on("error", function(e){
  console.log("Got error: " + e.message);
});

我想知道如何在POST请求的主体中嵌入参数以及如何从接收器模块中捕获它们。

1 个答案:

答案 0 :(得分:5)

您介意使用request library吗?发送帖子请求就像

一样简单
var options = {
url: 'https://someurl.com',
'method': 'POST',
 'body': {"key":"val"} 

};

 request(options,function(error,response,body){
   //do what you want with this callback functon
});

请求库还有一个request.post方法的帖子快捷方式,您可以在其中传递网址以发送帖子请求以及要发送到该网址的数据。

根据评论进行修改

要“捕获”一个帖子请求,最好使用某种框架。由于express是最受欢迎的,我将举一个表达的例子。如果您不熟悉快递,我建议您自己阅读getting started guide

您需要做的就是创建一个后期路线,回调函数将包含发布到该网址的数据

app.post('/name-of-route',function(req,res){
 console.log(req.body);
//req.body contains the post data that you posted to the url 
 });