W mojej aplikacji używam Express, a także Body-Parser.
app.use(bodyParser.urlencoded({ extended: false }));
Ale co oznacza „rozszerzona” w wyrażeniu 4.0?
znalazłem to
extended - parse extended syntax with the qs module.
Jednak nadal nie mogę zrozumieć, co to znaczy.
node.js
express
body-parser
KimCrab
źródło
źródło
Przeciwnie,
Różnice między analizowaniem za pomocą „qs library” a „querystring library”
Biblioteka qs umożliwia utworzenie zagnieżdżonego obiektu z ciągu zapytania.
var qs = require("qs") var result = qs.parse("person[name]=bobby&person[age]=3") console.log(result) // { person: { name: 'bobby', age: '3' } }
Biblioteka ciągu zapytania nie obsługuje tworzenia zagnieżdżonego obiektu na podstawie ciągu zapytania.
var queryString = require("query-string") var result = queryString.parse("person[name]=bobby&person[age]=3") console.log(result) // { 'person[age]': '3', 'person[name]': 'bobby' }
Biblioteka qs nie odfiltruje „?” z ciągu zapytania.
var qs = require("qs") var result = qs.parse("?a=b") console.log(result) // { '?a': 'b' }
Biblioteka ciągu zapytania odfiltruje znak „?” z ciągu zapytania.
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
Aby uzyskać więcej informacji, możesz zapoznać się z odpowiedzią Leonida Beschastnego i npm porównać qs z ciągiem zapytania .
źródło
Z dokumentacji Body-Parser:
I
Zasadniczo rozszerzona pozwala na parsowanie pełnych obiektów.
Parser treści: zakodowany adres URL
źródło