node.js - Express 框架的body-parser的用法
怪我咯
怪我咯 2017-04-17 16:10:33
0
1
832
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(1)
洪涛

等等,我翻車了

它是先按照你在 use 時候給定的 options 進行格式化約束的,然後先按照 json 來轉一次,沒出錯了再接著調用 urlencoded 進行表單其他內容進行接收和格式化。

其中json轉的時候默認按照 var type = opts.type || 'application/json' 這個 content-type 來進行格式指定檢查請求頭是不是json,如果不是則默認一個空,不然進行 json 的格式化,然後就是後面的 urlencoded 邏輯了

原始碼如下
https://github.com/expressjs/...

function bodyParser (options) {
  var opts = {}

  // exclude type option
  if (options) {
    for (var prop in options) {
      if (prop !== 'type') {
        opts[prop] = options[prop]
      }
    }
  }

  var _urlencoded = exports.urlencoded(opts)
  var _json = exports.json(opts)

  return function bodyParser (req, res, next) {
    _json(req, res, function (err) {
      if (err) return next(err)
      _urlencoded(req, res, next)
    })
  }
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板