post數(shù)據(jù)
- 原生node.js實現(xiàn)post請求數(shù)據(jù)獲取
common.js:
//獲取post請求提交的數(shù)據(jù)
function getPostInfo(ctx){
//獲取數(shù)據(jù),異步
return new Promise((resolve,reject)=>{
let postInfo='';
try {
ctx.req.on("data",shunk=>{
postInfo+=shunk;
})
ctx.req.on("end",()=>{
resolve(postInfo);
})
} catch (error) {
reject(error)
}
})
}
module.exports={getPostInfo}
index.js:
引入=》
common=requie('./module/common.js')
querystring = requir('querystring')
解析和調(diào)用:
let info= await common.getPostInfo(ctx);
let obj=querystring.parse(info);
console.log(info);//username=asfa&password=assafa
console.log(obj)//{ username: 'asa', password: 'asca' }
bodyParse解析
- cnpm i koa-bodyparser --save
- bodyParser=require('koa-bodyparser')
- app.use(bodyParser()):注意內(nèi)部是方法
router.post('/doAdd',async(ctx)=>{
ctx.body=ctx.request.body;
//{"username":"asda","password":"asfa"}
})
說明:koa-bodyparser是ctx.request而不是原生的ctx.req
koa-static靜態(tài)資源中間件
- cnpm i koa-static --save
- static=require('koa-static')
- app.use(static('static'));
- 靜態(tài)資源中間件可以配置多個攒磨,靜態(tài)資源時候會依次查找每個中間的路徑
例如:引入css
<link rel="stylesheet" href="css/a.css">
此時的路徑和index.ejs路徑?jīng)]關(guān)系泳桦,直接會去static目錄下查找。
art-template模板
說明:art-template如果和koa搭配使用需要安裝 koa-art-template
- cnpm i art-template
- cnpm i koa-art-template