KOA2post提交数据的几种方式
1.最原始的js方式
首先封装一个异步方法用来传递post请求的数据
exports.getPostData = function (ctx) {
try {
return new Promise(function (reslove, reject) {
let str = ''
ctx.req.on('data', function (chunk) {
str += chunk
})
ctx.req.on('end', function (chunk) {
reslove(str)
})
})
} catch (error) {
reject(error)
}
}
写一个ejs(html)页面表单,注意input
中name属性必须带上,这是为后面取值,然后传值方式,请求路由必填
<form action="/addmin" method="POST">
姓名:<input type="text" name="username" id=""> 密码:
<input type="password" name="pwd" id="">
<button type="submit">提交</button>
</form>
最后在路由中获取数据
router.post('/addmin',async(ctx)=>{
var data=await common.getPostData(ctx)
console.log(data);
ctx.body = data
})
第二种方式用插件body parser
npm i body-parser -S
app.use(bodypardser)
//配置
router.post('/addmin',async(ctx)=>{ ctx.body = ctx.request.body})