Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 什么是';扩展的';在express 4.0中是什么意思?_Node.js_Express_Body Parser - Fatal编程技术网

Node.js 什么是';扩展的';在express 4.0中是什么意思?

Node.js 什么是';扩展的';在express 4.0中是什么意思?,node.js,express,body-parser,Node.js,Express,Body Parser,我正在我的应用程序中使用express和body解析器 app.use(bodyParser.urlencoded({ extended: false })); 但是,在express 4.0中,“扩展”是什么意思 我找到了这个 extended - parse extended syntax with the qs module. 但是,我仍然无法理解它的含义。来自Body Parser文档: 包含解析数据的新主体对象填充在中间件之后的请求对象上(即req.body)。此对象将包含键值对,

我正在我的应用程序中使用express和body解析器

app.use(bodyParser.urlencoded({ extended: false }));
但是,在express 4.0中,“扩展”是什么意思

我找到了这个

extended - parse extended syntax with the qs module.

但是,我仍然无法理解它的含义。

来自Body Parser文档:

包含解析数据的新主体对象填充在中间件之后的请求对象上(即req.body)。此对象将包含键值对,其中值可以是字符串或数组(扩展为false时)或任何类型(扩展为true时)

扩展选项允许在使用querystring库解析URL编码数据(如果为false)或使用qs库解析URL编码数据(如果为true)之间进行选择。“扩展”语法允许将丰富的对象和数组编码为URL编码格式,从而实现类似JSON的URL编码体验。有关更多信息,请参阅qs库

基本上扩展允许您解析完整对象


如果扩展的
false
,则不能发布“嵌套对象”


如果
extended
true
,您可以按自己喜欢的方式进行操作

extended
属性设置为
true
时,URL编码的数据将 将使用

相反,

extended
属性设置为
false
时,URL编码的数据将 相反,可以使用


使用'qs-library'与'querystring-library'进行解析的区别`
  • qs库允许您从查询字符串创建嵌套的对象

    var qs = require("qs")
    var result = qs.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { person: { name: 'bobby', age: '3' } }
    
    var queryString = require("query-string")
    var result = queryString.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    
    var qs = require("qs")
    var result = qs.parse("?a=b")
    console.log(result) // { '?a': 'b' }
    
    var queryString = require("query-string")
    var result = queryString.parse("?a=b")
    console.log(result) // { a: 'b' }
    

  • 查询字符串不支持从查询字符串创建嵌套对象

    var qs = require("qs")
    var result = qs.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { person: { name: 'bobby', age: '3' } }
    
    var queryString = require("query-string")
    var result = queryString.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    
    var qs = require("qs")
    var result = qs.parse("?a=b")
    console.log(result) // { '?a': 'b' }
    
    var queryString = require("query-string")
    var result = queryString.parse("?a=b")
    console.log(result) // { a: 'b' }
    

  • qs库将从查询字符串中过滤掉“?”

    var qs = require("qs")
    var result = qs.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { person: { name: 'bobby', age: '3' } }
    
    var queryString = require("query-string")
    var result = queryString.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    
    var qs = require("qs")
    var result = qs.parse("?a=b")
    console.log(result) // { '?a': 'b' }
    
    var queryString = require("query-string")
    var result = queryString.parse("?a=b")
    console.log(result) // { a: 'b' }
    

  • 查询字符串库将从查询字符串中筛选出“?”

    var qs = require("qs")
    var result = qs.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { person: { name: 'bobby', age: '3' } }
    
    var queryString = require("query-string")
    var result = queryString.parse("person[name]=bobby&person[age]=3")
    console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
    
    var qs = require("qs")
    var result = qs.parse("?a=b")
    console.log(result) // { '?a': 'b' }
    
    var queryString = require("query-string")
    var result = queryString.parse("?a=b")
    console.log(result) // { a: 'b' }
    



有关更多信息,请参阅和。

和应为选定答案这必须是选定的正确答案。