Express,正文解析器不解析表单数据 + 对象(使用 Angular.js $recourse)

Express, body-parser not parsing form data + object (using Angular.js $recourse)

我正在学习 angular.js $resource。正如文档中的示例,我有自定义方法

// some stuff
  {charge: {method:'POST', params:{charge:true}} //declaring custom method
// some stuff
// and then call the this method
card.$charge({amount:9.99});
// It makes POST: /user/123/card/456?amount=9.99&charge=true {id:456, number:'1234', name:'J. Smith'}

问题是 我的 express 应用仅解析对象,而遗漏了 amount=9.99&charge=true。但是,如果我只发送 amount=9.99&charge=true wihtout 对象(而不是通过 angular 的 $resource),它解析得很好。如果我只发送对象也一样。但不是两者。 所以我无法得到 charge=true 这确实是必要的。我什至可能得不到对象,但 Angular 的 $recourse 默认附加它,所以我不知道如何在调用自定义方法时阻止附加对象

我正在使用: express 4body-parser 配置:

app.use(bodyParser.urlencoded({
   extended: true
}));
app.use(bodyParser.json());
app.use(methodOverride());

多个

所以,亲爱的社区请帮助。我脑袋坏了2个小时。

根据您的 $resource 声明,

card.$charge({amount:9.99});

这将发送一个带有查询的 POST 请求:amount=9.99&charge=true ,以访问快速使用 req.query.amountreq.query.charge.

的那些