Node.js请求模块

时间:2018-07-14 12:07:29

标签: node.js npm

我正在尝试使用request模块将发布请求发送到另一个服务,但是回调永远不会触发。这是我现在正在做的事情:

request.post(
      `http://localhost:3002/users/login`,
      { 
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify({userDetails})
      },
      function (error, response, body) {
          if (!error && response.statusCode == 200) {
              const data = JSON.parse(body);
              console.log(data);
          } else {
              console.log('Request has failed. Please make sure you are logged in');
              res.status(401).send(body);
          }
      }
  );

回调函数永远不会触发。另一方面,如果我尝试通过Postman发送此确切请求,则服务器会收到该请求。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

语法错误可能吗?尝试:

request({
  method: 'POST',
  url: 'http://localhost:3002/users/login',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({userDetails})
},
function (error, response, body) {
  // Now it should fire the callback.
  console.log('okay');
});

像魅力一样站在我这边。

编辑:如果仍然无法使用,我敢打赌,您尝试访问的localhost:3002服务器未启用跨域资源共享。这是the easiest way to enable it