Node.js+Express中bodyParser.urlecoded非函数报错如何解决
报错解决方案
报错原因
该报错通常由两个问题触发:
- 方法名拼写错误,报错提示的
urlecoded为错误拼写,正确方法名为urlencoded - Express v4.16.0版本之后已经内置了body-parser的核心功能,如果你使用的是高版本Express,单独引入第三方body-parser包可能出现版本兼容问题
解决步骤
- 首先核对代码中的方法名拼写,确保调用的是
bodyParser.urlencoded()而非拼写错误的bodyParser.urlecoded() - 若你使用的Express版本 ≥ v4.16.0,无需单独安装引入body-parser包,直接使用Express内置方法即可:
移除原代码中const bodyParser = require('body-parser')相关引入逻辑,替换为如下代码:// 处理urlencoded格式请求体 app.use(express.urlencoded({ extended: true })) // 如需处理json格式请求体,可额外添加 app.use(express.json()) - 若项目需兼容旧版本必须使用独立的body-parser包,先执行安装命令
npm install body-parser,再确认代码顶部已正确引入该包,再调用对应方法即可
内容的提问来源于stack exchange,提问作者Abe Temitope
相关产品推荐
相关产品推荐

