тело запроса ctx не определено с помощью nodejs - PullRequest
0 голосов
/ 02 января 2019

У меня проблема, когда я публикую свою форму, я не могу получить то, что написано в моем сообщении в моем API.

Это мое сообщение с axios в реаги:

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:

импорт koaBody из "koa-body";

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, и у меня нет проблем, все работает нормально.

1 Ответ

0 голосов
/ 02 января 2019

Вам необходимо загрузить анализатор тела перед маршрутизатором, иначе маршрутизатор будет обрабатывать запросы до анализа содержимого тела:

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