1. 程式人生 > >從零一起學koa2(5)---koa-bodyparser中介軟體

從零一起學koa2(5)---koa-bodyparser中介軟體

上一篇中寫了如何直接編寫程式碼接收並解析POST請求,比較麻煩,這種比較麻煩的事情一定有中介軟體讓我們使用,koa-bodyparser就是一個。對於POST請求的處理,koa-bodyparser中介軟體可以把koa2上下文的formData資料解析到ctx.request.body中。

安裝

npm install --save koa-bodyparser

例子

引入並使用koa-bodyparser中介軟體

const bodyParser = require('koa-bodyparser');
app.use(bodyParser()); 

然後就可以直接在ctx.request.body

中獲取到JSON格式的POST資料了。
新建app.js檔案,稍微修改一下之前的程式碼即可。

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('server is starting at port 3000');
});

輸入並提交表單,就可以得到JSON格式的資料了。