在当前版本的body-parser中,现在需要使用extended
时的bodyParser.urlencoded()
选项。在自述文件中,它解释了:
我找不到与此有关的任何有用信息或特定信息。我只发现了不推荐使用的node-querystring。
此选项是否应该始终为真?
最佳答案
该消息的原因是body-parser
是about to change default value for extended
from true
to false
。
扩展协议(protocol)使用 qs
library解析x-www-form-urlencoded
数据。 qs
的主要优点是它使用了非常强大的序列化/反序列化算法,能够序列化任何类似于json的数据结构。
但是网络浏览器通常不使用此协议(protocol),因为x-www-form-urlencoded
旨在对平面html表单进行序列化。不过,如果您要使用ajax
发送丰富的数据结构,它可能会派上用场。
querystring
library`提供了基本的序列化/反序列化算法,所有Web浏览器都使用该算法来序列化表单数据。该基本算法比扩展算法简单得多,但仅限于平面数据结构。
两种算法对平面数据的工作方式完全相同。
现在,当您了解两种算法的优缺点时,就可以决定哪种算法更适合您的应用程序。
关于node.js - 正文解析器-扩展选项(qs与querystring),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29175465/