码迷,mamicode.com
首页 > 其他好文 > 详细

koa post 提交数据 koa-bodyparser 中间件的使用

时间:2020-01-31 14:10:48      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:模板   pos   16px   err   turn   log   std   style   中间   

一、原生 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 中间件的使用

标签:模板   pos   16px   err   turn   log   std   style   中间   

原文地址:https://www.cnblogs.com/loaderman/p/11511504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!