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);

 

 

 

上一篇:《Ansible权威指南 》一1.5 Ansible通信发展史


下一篇:安装GNOME3桌面并设置开机启动图形界面