body-parser – 扩展选项(qs vs querystring)
在body-parser的当前版本中,现在需要使用bodyParser.urlencoded()
时的extended
选项。 在自述文件中,它解释了:
扩展选项允许select在查询string库(如果为false)或qs库(如果为true)时parsingURL编码的数据。
[…]
默认为true,但使用默认值已被弃用。 请研究qs和querystring之间的差异,并select适当的设置。
我找不到任何有用或具体的信息。 我只发现了一个不推荐使用的节点查询string 。
如果这个选项总是正确的?
这个消息的原因是body-parser
正在改变从true
到false
默认值 。
扩展协议使用qs
库来parsingx-www-form-urlencoded
数据。 qs
的主要优点是它使用非常强大的序列化/反序列化algorithm,能够序列化任何类似json的数据结构。
但是,networking浏览器通常不使用这个协议,因为x-www-form-urlencoded
被devise为序列化平的html表单。 不过,如果你打算使用ajax
发送丰富的数据结构,它可能会派上用场。
querystring
库“提供了基本的序列化/反序列化algorithm,这是所有networking浏览器用于序列化表单数据的algorithm。 这个基本algorithm比扩展algorithm简单得多,但是仅限于平面数据结构。
两种algorithm的工作原理与平面数据完全相同。
现在,当您知道两种algorithm的优缺点时,您最好决定哪一个更适合您的应用程序。
- 快速js(nodejs)如何启动应用程序? TypeError:app.set不是一个函数
- Mongoose .pre('save')不会触发
- 从NodeJS发送数据而不重新渲染整个页面?
- 在expressjs版本4中req.url和req.originalUrl之间的区别
- 在node.js中的互联网速度计算
- Socket.io聊天应用程序显示检测到EventEmitter内存泄漏。 添加了11位听众。 使用emitter.setMaxListeners()
- 如何从Express.js发布到api
- 如何使一个套接字stream? imagemagick后连接https响应S3
- nodejs(expressjs)如何将来自2个查询的信息转换成jade?