今天在用bodyparser時,遇到了如下問題:
首先科普下bodyparser的作用:它用於解析客戶端請求的body中的內容,內部使用JSON編碼處理,url編碼處理以及對於文件的上傳處理。
現在繼續說下上面截圖問題的意思:意為
因為新版的express中不包含bodyparser,需要我們單獨安裝bodyparser。
解決方案:
使用npm install body-parser安裝body-parser,然后在app.js中加載body-parser模塊var bodyParser = require('body-parser'),把app.use(express.bodyParser())替換成app.use(bodyParser.urlencoded({extended:false})),這樣就ok了。
但是還有一點要注意,在用post提交數據時需要把參數extended:false改為extended:true,否則會報錯。
為啥會報錯呢,因為通常post內容的格式為application/x-www-form-urlencoded,因此要用下面的方式來使用:app.use(require('body-parser').unlencoded({extended:true}))
詳情見https://github.com/expressjs/body-parser
上面是我遇到問題,在慕課問答中找到答案總結的,希望能給大家帶來幫助。