上篇的原生写法不利用开发,我们使用已经有的插件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串