koa2利用bodyparser中间件处理post请求(五)

上篇的原生写法不利用开发,我们使用已经有的插件koa-bodyparser来实现接收并解析post请求

1》安装中间件

使用npm进行安装,需要注意的是我们这里要用–save,因为它在生产环境中需要使用。
npm install --save koa-bodyparser@3

2》引用

const bodyParser = require('koa-bodyparser');

我们需要在代码中引入,使用ES6提供的require来进入

3》使用

app.use(bodyParser());

需要注意的是:如果你引入了,但是你没有使用它,是不会起作用的。

4》我们看下是否安装成功,打开package.json文件,看到下图所示,说明安装成功



5》我们以完整的代码看

/*引入koa2*/
const Koa  = require('koa');
/*new一个koa的对象*/
const app = new Koa();
/*引入中间件koa-bodyparser*/
const bodyParser = require('koa-bodyparser');
/*使用中间件koa-bodyparser*/
app.use(bodyParser());
/*中间件*/
app.use(async(ctx)=>{
    /*get请求*/
    if(ctx.url==='/' && ctx.method==='GET'){
        //显示表单页面
        let html=`
            <form method="POST" action="/">
                <p>userName</p>
                <input name="userName" /><br/>
                <p>age</p>
                <input name="age" /><br/>
                <p>website</p>
                <input name="webSite" /><br/>
                <button type="submit">submit</button>
            </form>
        `;
        ctx.body=html;
    }else if(ctx.url==='/' && ctx.method==='POST'){
        /*post请求*/
        let postData= ctx.request.body;
        ctx.body=postData;
    }

});

/*监听端口*/
app.listen(3004,()=>{
    console.log('success at port 3004');
});

6》我们打开命令行,使用node index.js启动服务,在命令行中看到‘success at post 3004’,说明我们启动成功,打开浏览器,我们在浏览器中输入localhost:3004,会看到下图所示的页面


7》当我们输入form表单点击按钮submit以后,页面会出现下图所示的json串


在这里,我们明显能看到,跟上一篇最终得到的结果一样,但代码却比上一篇的代码简单许多,希望对大家有所帮助,谢谢。

猜你喜欢

转载自blog.csdn.net/lschange/article/details/80651353