node.js - example - instalar bodyparser node js
¿Qué significa ''extendido'' en express 4.0? (3)
Estoy usando express y también body-parser en mi aplicación.
app.use(bodyParser.urlencoded({ extended: false }));
Pero, ¿qué significa ''extendido'' en express 4.0?
encontré esto
extended - parse extended syntax with the qs module.
Sin embargo, todavía no puedo entender lo que significa.
Cuando la propiedad
extendedse establece entrue, los datos codificados con URL se analizarán con la biblioteca qs .
De lo contrario,
cuando la propiedad
extendedse establece enfalse, los datos codificados con URL se analizarán en su lugar con la biblioteca de cadenas de consulta .
Las diferencias entre analizar con `qs library` vs` querystring library`
-
La biblioteca qs le permite crear un objeto anidado a partir de su cadena de consulta.
var qs = require("qs") var result = qs.parse("person[name]=bobby&person[age]=3") console.log(result) // { person: { name: ''bobby'', age: ''3'' } }
-
la biblioteca de cadenas de consulta no admite la creación de un objeto anidado a partir de su cadena de consulta.
var queryString = require("query-string") var result = queryString.parse("person[name]=bobby&person[age]=3") console.log(result) // { ''person[age]'': ''3'', ''person[name]'': ''bobby'' }
-
qs library no filtrará ''?'' de la cadena de consulta.
var qs = require("qs") var result = qs.parse("?a=b") console.log(result) // { ''?a'': ''b'' }
-
la biblioteca de cadenas de consulta filtrará ''?'' de la cadena de consulta.
var queryString = require("query-string") var result = queryString.parse("?a=b") console.log(result) // { a: ''b'' }
app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded
Para obtener más información, puede consultar
.com/questions/29175465/…
y
comparar npm qs vs query-string
.
De los documentos de Body-Parser:
Un nuevo objeto de cuerpo que contiene los datos analizados se rellena en el objeto de solicitud después del middleware (es decir, req.body). Este objeto contendrá pares clave-valor, donde el valor puede ser una cadena o matriz (cuando se extiende es falso) o cualquier tipo (cuando se extiende es verdadero).
Y
La opción extendida permite elegir entre analizar los datos codificados en URL con la biblioteca de cadena de consulta (cuando es falsa) o la biblioteca qs (cuando es verdadera). La sintaxis "extendida" permite que los objetos ricos y las matrices se codifiquen en el formato codificado con URL, lo que permite una experiencia similar a JSON con codificación URL. Para obtener más información, consulte la biblioteca qs.
Básicamente extendido le permite analizar objetos completos.
Si
extended
es
false
, no puede publicar "objeto anidado"
person[name] = ''cw''
// Nested Object = { person: { name: cw } }
Si
extended
es
true
, puede hacer lo que quiera.