已經(jīng)學會如何自己編寫代碼接收并解析POST請求网缝,這樣最基本的功能其實是不用我們自己寫的智绸,一定有造好的輪子讓我們使用森缠,koa-bodyparser就是一個造好的輪子游昼。我們在koa中把這種輪子就叫做中間件。對于POST請求的處理,koa-bodyparser中間件可以把koa2上下文的formData數(shù)據(jù)解析到ctx.request.body中联喘。
安裝中間件
使用npm進行安裝华蜒,需要注意的是我們這里要用–save,因為它在生產(chǎn)環(huán)境中需要使用豁遭。
npm install --save koa-bodyparser@3
引入使用
安裝完成后叭喜,需要在代碼中引入并使用。我們在代碼頂部用require進行引入蓖谢。
const bodyParser = require('koa-bodyparser');
然后進行使用捂蕴,如果不使用是沒辦法調(diào)用的,使用代碼如下闪幽。
app.use(bodyParser());
在代碼中使用后啥辨,直接可以用ctx.request.body進行獲取POST請求參數(shù),中間件自動給我們作了解析盯腌。
const Koa = require('koa');
const app = new Koa();
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());
app.use(async(ctx)=>{
if(ctx.url==='/' && ctx.method==='GET'){
//顯示表單頁面
let html=`
<h1>JSPang Koa2 request POST</h1>
<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'){
let postData= ctx.request.body;
ctx.body=postData;
}else{
ctx.body='<h1>404!</h1>';
}
});
app.listen(3000,()=>{
console.log('[demo] server is starting at port 3000');
});