【问题标题】:Express route handling / req.body empty on some routes快速路线处理/req.body 在某些路线上为空
【发布时间】:2014-02-14 21:53:08
【问题描述】:

我有两条路线。在每个请求之前,应该触发一个方法:

app.all('*',function(req,res,next){
    console.dir(req.body);
    // Some more stuff
});

我拨打POST 呼叫我的第一条路线:

$http.post('/users/login',{ 别名:$scope.alias, 密码:$scope.password });

一切正常,Express 将凭据记录到控制台。

我调用另一条路线:

$http.post('/shipments/delete',{ 别名:'11', 密码:'22' })

Express 记录一个空对象。

这里发生了什么?

【问题讨论】:

  • 我假设您使用bodyParser() 或(希望)urlencoded() 来解析请求正文?

标签: angularjs express


【解决方案1】:

可能有一个不同的路由将 POST 与/users/login 匹配。快速路由是关于将请求路径与处理函数匹配。您必须发布所有相关的路由路径和处理函数,以便我们向您展示您的错误,如果您不确定可以确定哪些是相关的,请将它们全部发布。但实际上你可能永远不想使用app.all('*'。了解中间件:app.use(,因为这两者的工作方式略有不同,中间件通常更正确/更有用。

【讨论】:

  • 使用 app.use 时同样的问题
猜你喜欢
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 2020-01-30
  • 2019-09-30
  • 2021-01-20
  • 1970-01-01
  • 2013-08-09
相关资源
最近更新 更多