首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mock-mock request.body未定义

mock-mock request.body未定义
EN

Stack Overflow用户
提问于 2015-02-05 02:11:28
回答 2查看 592关注 0票数 1

刚迁移到ember-cli 0.1.12,现在http-mock对我不起作用。

它可以很好地处理get请求。request.query返回所有查询参数。

然而,对于POST请求,我无法获得请求参数,因为request.body是未定义的。

有人能告诉我如何访问ember http-mock中的请求体吗?

EN

回答 2

Stack Overflow用户

发布于 2015-02-05 16:11:29

我打开了一个公关,里面有你的案子的一些说明。https://github.com/ember-cli/ember-cli/pull/3211

票数 1
EN

Stack Overflow用户

发布于 2015-06-18 17:36:46

我也有同样的问题,req.body是未定义的。以下是我遵循的步骤:

1)安装body-parser

代码语言:javascript
复制
npm install body-parser

2)您需要为每个需要主体解析器的模拟文件指定。例如,我的/server/mocks/addresses.js现在是:

代码语言:javascript
复制
module.exports = function(app) {
  var express = require('express');
  var addressesRouter = express.Router();

  ...

  addressesRouter.post('/', function (req, res) {
    var address = req.body;
    address.id = addresses.length + 1;
    addresses.push(address);
    res.status(201).send({
      'address': address
    });
  });

  ...

    app.use('/api/addresses', require('body-parser').json(), addressesRouter);

因此,基本上您需要在最终的app.use中添加require('body-parser').json()的第二个(中间)参数。

req.body现在应该可以工作了,不再是未定义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28328409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档