在当前版本中正文解析器 https://github.com/expressjs/body-parser, the extended
使用时的选项bodyParser.urlencoded()
现在需要。在自述文件中,它解释了:
扩展选项允许选择使用 querystring 库(当为 false 时)或 qs 库(当为 true 时)解析 URL 编码数据。
[...]
默认为 true,但使用默认值已被弃用。请研究 qs 和 querystring 之间的区别并选择适当的设置。
我找不到任何有关此的有用或具体信息。我只找到了一个已弃用的节点查询字符串 https://github.com/tj/node-querystring.
这个选项应该永远为真吗?
出现此消息的原因是body-parser
is 即将更改默认值extended from true to false https://github.com/expressjs/body-parser/issues/45.
扩展协议用途qs library https://www.npmjs.com/package/qs解析x-www-form-urlencoded
数据。主要优点qs
最主要的是它使用了非常强大的序列化/反序列化算法,能够序列化任何类似json的数据结构。
但网络浏览器通常不使用此协议,因为x-www-form-urlencoded
旨在序列化平面 html 表单。不过,如果您要使用发送丰富的数据结构,它可能会派上用场ajax
.
querystring图书馆` https://www.npmjs.com/package/querystring提供基本的序列化/反序列化算法,所有 Web 浏览器都使用该算法来序列化表单数据。这种基本算法比扩展算法简单得多,但仅限于平面数据结构。
两种算法对于平面数据的工作原理完全相同。
现在,当您了解两种算法的优缺点后,您就可以决定哪一种更适合您的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)