我正在构建AngularJS和NodeJS / Express应用程序。

除我添加的自定义操作外,所有AngularJS资源均按预期运行,这导致Express中的req.params和req.body未定义。 相反,我发现这些对象嵌套在req下,就像req.req.params和req.req.body中一样,这是我希望在req.params和req.body中得到的值。 我相信AngularJS自定义操作会导致req嵌套。 为什么会发生这种情况,我该怎么做才能“打乱”要求?

AngularJS资源声明 (addUser是问题子级):

.factory('Account', function($resource){
  return $resource('/api/account/:id', null, {
    'update': { method: 'PUT' },
    'addUser': { 
      method: 'POST',
      url: '/api/account/:id/addUser' 
    } 
  });
})

如何调用addUser:

Account.addUser({ id: accountId }, postData, function(){
  console.log('success');
};

节点/表达式中的路由:

app.post('/api/account/:id/addUser', function(req, req) {
  console.log(req.params, req.body);           // results in...  undefined, undefined
  console.log(req.req.params, req.req.body);   // results in values as expected of req.params and req.body
});

我已经阅读并重新阅读了以下网址中的自定义操作,但看不到我做错了什么。 https://docs.angularjs.org/api/ngResource/service/ $ resource

===============>>#1 票数:1

愚蠢的编程错误...

路由具有function(req, req)而不是function(req, res) 这导致了非常糟糕的事情发生。 更正解决了我所有的问题。

  ask by Erik Olson translate from so

未解决问题?本站智能推荐: