在当前版本的body-parser中,现在需要使用extended时的bodyParser.urlencoded()选项。在自述文件中,它解释了:



我找不到与此有关的任何有用信息或特定信息。我只发现了不推荐使用的node-querystring

此选项是否应该始终为真?

最佳答案

该消息的原因是body-parserabout 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/

10-16 20:12