如何使用koa提取表单字段
how to extract form fields with koa
我在 koa 中提取表单字段时遇到问题:
假设我发送这样的表格:
<form action="/somewhere" method="post">
<input type="text" name="somefield"/>
</form>
如何在后端提取这些:
router.post('/somewhere', async ctx => {
const { form } = ctx.req; //not here
});
您需要使用一些中间件来解析请求正文。查看 koa-bodyparser
。你可以这样使用它:
app.js
const Koa = require('koa')
const bodyParser = require('koa-bodyparser')
const router = require('./routes')
const app = new Koa()
app.use(bodyParser()) // Make sure you `use` bodyParser before your router
app.use(router.routes())
app.use(router.allowedMethods())
routes.js
const Router = require('koa-router')
const router = new Router()
router.post('/somewhere', async ctx => {
console.log(ctx.request.body.somefield); // All your form fields will be available on the `ctx.request.body` object
})
我在 koa 中提取表单字段时遇到问题:
假设我发送这样的表格:
<form action="/somewhere" method="post">
<input type="text" name="somefield"/>
</form>
如何在后端提取这些:
router.post('/somewhere', async ctx => {
const { form } = ctx.req; //not here
});
您需要使用一些中间件来解析请求正文。查看 koa-bodyparser
。你可以这样使用它:
app.js
const Koa = require('koa')
const bodyParser = require('koa-bodyparser')
const router = require('./routes')
const app = new Koa()
app.use(bodyParser()) // Make sure you `use` bodyParser before your router
app.use(router.routes())
app.use(router.allowedMethods())
routes.js
const Router = require('koa-router')
const router = new Router()
router.post('/somewhere', async ctx => {
console.log(ctx.request.body.somefield); // All your form fields will be available on the `ctx.request.body` object
})