ctx请求正文未使用nodejs定义

jim2k

我有一个问题,当我发布表单时,我无法在API中获得帖子中的内容。

这是我在axios中的帖子react:

onSubmit = () => {
    let data = {
        nickname: this.state.nickname,
        password: this.state.password
    }

    axios.post("/api/user/login", { data })
    .then(res => {
        console.log("res from api is => ", res.data);
    })
}

这是在我的API中:

从“ koa-body”中导入koaBody;

const   app = new koa();
const   router = new Router();

app.use(router.routes());
app.use(koaBody());

router.post("/api/user/login", async(ctx) => {
    console.log("body is => ", ctx.request.body);
    ctx.body = "ok";
});

问题是ctx.request.body始终未定义...您能告诉我为什么吗?我尝试使用router.get,但没有问题,它工作正常。

罗伯特克莱普

您需要在路由器之前加载主体解析器,否则路由器将在解析主体内容之前处理请求:

app.use(koaBody());
app.use(router.routes());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章