node中中介軟體body parser的實現方式

2022-05-06 03:00:06 字數 1137 閱讀 6074

最近學習了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...