javascript - 如何从 Node 后端的 $http.post/angular 检索 post 变量?

标签 javascript angularjs node.js post parameters

这是我的前端。

auth
var time = 5;

$http.post('/tasks/addTime', null, {
    headers: {
        Authorization: "Bearer " + auth.getToken()
    },
    data: {
        id: "Me",
        time: time,
    }
});

这是背面

router.post('/tasks/addTime', auth, function(req, res, next) {
    console.log(req);
});

我能够看到数据结构 req 得到回显,因此我正在正确调用后端..如何访问我的“id”和“time”变量?

最佳答案

Node 以 block 的形式处理 POST 数据。您的函数需要接收数据 block 并构建一个完整的主体。有一些框架(例如 Express)可以为您处理此问题,但以下是如何自行执行此操作的示例:

router.post('/tasks/addTime', auth, function(req, res, next) {
  var body = "";
  req.on('data', function (chunk) {
    body += chunk;
  });
  req.on('end', function () {
    console.log('POSTed: ' + body);
  });
});

需要注意的是,在监听 POST 数据时,req 对象也是一个 Event Emitter 。因此,每当接收到 block 传入数据时,req就会发出一个'data'事件;当没有更多传入数据时,将发出 'end' 事件。因此,在我们的例子中,我们监听 'data' 事件。收到所有数据后,我们将数据记录到控制台。

使用 Express,您还应该有一个额外的对象 req.params .

req.params

An object containing properties mapped to the named route “parameters”. For example, if you have the route /user/:name, then the “name” property is available as req.params.name. This object defaults to {}.

您还可以使用req.body在 Express 中间件的帮助下:

req.body

Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as body-parser and multer.

关于javascript - 如何从 Node 后端的 $http.post/angular 检索 post 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786671/

相关文章:

javascript - 无循环地为数组中的每个对象赋值

javascript - 如何使用 thunk 和 useDispatch(react-redux Hook )从操作中返回 promise ?

javascript - 使用 CDN 的 Google PageSpeed Insight CSS Javascript "above the fold"问题

javascript - 将选中的复选框存储到 AngularJS 树结构的数组中

javascript - Nodejs 中的 JS Performance.now() 和 console.time() 不准确?

node.js - 如何使用 Node 身份验证发布到 LinkedIn "Share"?

node.js - 让 Mongoose 重新连接到 Node 并向辅助 Node 发送请求时出现问题

JavaScript 删除语句

javascript - Uncaught Error : Configuration must contain `projectId` ( when using environment variable )

javascript - 无法在 ng-click 上获取 href 内容