在node.js应用程序中发出一个post请求

时间:2015-12-29 00:16:16

标签: node.js microservices

我有一个带有/ api / authenticate端点的node.js服务。我可以使用'username'和'password'作为输入(body参数)从POSTMAN成功调用此服务。如何从另一个node.js服务器调用相同的服务?

我有邮差,

container-fluid

POST / api / authenticate 200 1.336 ms - 72

以下是另一个nodejs应用程序...它会成功进行请求调用,但在到达身份验证服务器api时没有任何正文参数(用户名和密码)。

col-*-*

});

从这个nodejs应用程序中,我在服务器上获得了空体。

body: {name: 'xxxxxx', password: 'xxxxxx' }
headers: { 'content-type': 'application/x-www-form-urlencoded',
  host: 'xx.xx.xx.xx:xxxx',
  connection: 'close',
  'content-length': '0' }

我错过了什么?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

您是否尝试从表单中获取发布的数据?

尝试使用快递。

npm install express -save

您可以使用ff:

从网址获取发布的数据
app.post('*', function(request, response){  
    var post = {};
    if(Object.keys(request.body).length){
        for(var key in request.body){
            post[key] = request.body[key];
            console.log(key+'=>'+post[key];
        }
    }
});

答案 1 :(得分:1)

使用NodeJS的stock http库并不允许你使用该语法。

看一下RequestJS作为一个更简单的解决方案。它将使您的生活更轻松,并允许您使用您想要的语法。

这是使用库存节点的解决方案。

https://nodejs.org/api/http.html#http_http_request_options_callback

相关部分:

var postData = querystring.stringify({
  'msg' : 'Hello World!'
});

然后,最后:

// write data to request body
req.write(postData);
req.end();

但是除非你绝对不能使用图书馆。