gpt4 book ai didi

javascript - Express.js 请求主体 __proto__

转载 作者:可可西里 更新时间:2023-11-01 09:45:06 25 4
gpt4 key购买 nike

我对 express.urlencoded() 中间件生成的 request.body 有点问题。在某些情况下,它会在 request.body 对象的末尾添加 __proto__ 并且它不能像这样直接用于启动 moongose 模型 var user = new User(req.body)

作为示例,我将使用 node-express-mongoose-demo存储库。所有表单都可以正常工作,但 app.post('/users', users.create) 收到 req.body 被 __proto__

“污染”

在此先感谢您的帮助

最佳答案

看来问题出在 urlencoded 中间件,它包含在 Express 3 中。

一个可能的解决方案是不使用 Express bodyParser,而是使用 body-parser 模块。

代替

app.use(express.urlencoded())

你可以写

var bodyparser = require('body-parser')

..........

app.use(bodyparser.urlencoded())

问题似乎出在qs模块(express 3模块使用的版本)。它强制在它构建的对象上添加一个 __proto__。最新版本没有这个问题。

关于javascript - Express.js 请求主体 __proto__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com