最近學習了koa框架中用到了koa-bodyparser接收表單post請求的引數,直接使用其api是很容易的,但卻不知道其原生方法怎麼實現的。故做些筆記
首先,是搭建了koa的伺服器不再贅述
其次,在做表單post請求時,用到兩個自定義封裝的函式:
1 const koa = require('koa')koa()35
console.log(ctx)
6 ctx.body =cxt7})
由控制台或者body都可以列印出ctx是乙個json物件
然而post傳送的引數是儲存在ctx.req中的,直接將ctx.req傳給body是無法取得,需要通過原生方法去處理。
1 const koa = require('koa')
koa()35
if (ctx.url === '/' && ctx.method === 'get') else
if (ctx.url === '/' && ctx.method === 'post') else
21})
2223
//bodyparser的原生方法, 獲取post請求的字串 user=make&age=28
24function
parserdata(ctx) )
31 ctx.req.on('end', function
() )
35 } catch
(err)
38})39}
4041
//將post請求的query轉為json物件格式
42function
parserquerystring(str)
44 let querystrlist = str.split('&')
45//
entries()返回帶索引的陣列
node中介軟體
前面的文章裡也介紹過了,express 是乙個簡潔 靈活的node.jsweb 應用開發框架,它提供一系列強大的特性,幫助你建立各種 web 和移動裝置應用。express專案的底層由許多的中介軟體在協同工作,可以這麼說,乙個express應用就是在呼叫各種中介軟體。中介軟體是乙個可訪問請求物件 r...
node中介軟體KOA函式
const koa require koa 應用程式物件 中介軟體 傳送http koa 接手http 中介軟體 其實就是 函式 function test 當請求傳送過來的時候,將函式 中介軟體 註冊到程式上 前端傳送乙個http請求 來觸發中介軟體 koa 中 只會執行第乙個中介軟體 ctx 上...
node09 中介軟體
如果我的的get post 函式中,沒有next引數,那麼就匹配上第乙個路由,就不會往下匹配了。如果想往下匹配的話,那麼需要寫next req,res,next req,res 下面兩個路由,感覺沒有關係 req,res req,res 但是實際上衝突了,因為admin可以當做使用者名稱 login...