koa post 提交数据 koa-bodyparser 中间件的使用
Posted loaderman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了koa post 提交数据 koa-bodyparser 中间件的使用相关的知识,希望对你有一定的参考价值。
一、原生 Nodejs 获取 post 提交数据
function parsePostData(ctx) {
return new Promise((resolve, reject) => {
try {
let postdata = "";
ctx.req.on(‘data‘, (data) => {
postdata += data
})
ctx.req.on("end", function () {
resolve(postdata);
})
} catch (error) {
reject(error);
}
});
}
二、Koa 中 koa-bodyparser 中间件的使用
1、安装 koa-bodyparser
npm install --save koa-bodyparser
2、安装 引入配置中间件
var Koa = require(‘koa‘);
var bodyParser = require(‘koa-bodyparser‘);
var app = new Koa();
app.use(bodyParser());
app.use(async ctx => {
ctx.body = ctx.request.body;
});
3、使用
ctx.request.body 获取 post 提交的数据
demo
/*
Koa 中 koa-bodyparser 中间件获取表单提交的数据
1.npm install --save koa-bodyparser
2.引入var bodyParser = require(‘koa-bodyparser‘);
3.app.use(bodyParser());
4.ctx.request.body; 获取表单提交的数据
* */
var Koa=require(‘koa‘),
router = require(‘koa-router‘)(),
views = require(‘koa-views‘),
bodyParser = require(‘koa-bodyparser‘);
var app=new Koa();
/*应用ejs模板引擎*/
app.use(views(‘views‘,{
extension:‘ejs‘
}))
//配置post bodyparser的中间件
app.use(bodyParser());
router.get(‘/‘,async (ctx)=>{
await ctx.render(‘index‘);
})
//接收post提交的数据
router.post(‘/doAdd‘,async (ctx)=>{
console.log(ctx.request.body);
ctx.body=ctx.request.body; //获取表单提交的数据
})
app.use(router.routes()); /*启动路由*/
app.use(router.allowedMethods());
app.listen(3000);
以上是关于koa post 提交数据 koa-bodyparser 中间件的使用的主要内容,如果未能解决你的问题,请参考以下文章