0
私のサーバーにPOSTデータをリクエストするjavascriptコードです。ボディーデータをプリントアウトするとうまくいくようですが、Koaはリクエストから 'body'をパーズしません(koa-bodyparserを使用)。なぜこのようなことが起こるのか分かりません。それは1週間前のように文字通り働いていました。KoaはPOSTリクエストから 'body'を解析しません
ブラウザ
jQuery(document).ready(function($) {
$(".mypage_container .btn-block").click(async() => {
let payload = {
email: $('#username').val(),
password: $('#password').val(),
country: $('#CountriesDropDownList').val(),
firstname: $('#firstname').val(),
lastname: $('#lastname').val(),
gender: checkGender(),
address1: $('#address1').val(),
zipcode: $('#zipcode').val(),
mobile: $('#mobile').val(),
newsletter: newsLetter()
}
let option = {
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
}
try {
let res = await fetch('/signup', option)
} catch (e) {
console.error("failed to send signup request", e)
}
})
})
あなたがポストされたデータ解析するco-body
を使用する必要があるサーバー
router.post('/signup', async (ctx, next) => {
let data = ctx.request.body
console.log(ctx.request.body, ctx.request) // says undefined on first variable, request info without 'body' from the request.
try {
let user = new User(data)
await user.save()
ctx.body = data
} catch (e) {
console.error(e)
}
})
「koa-bodyparser」からの 'app.use(bodyParser())'呼び出しが 'app.use(router.routes())の上にあることを再確認してください。 – saadq
@saadqこれは問題でしたありがとうございました! –