若是表單數據中沒有對象的話,返回給後臺的數據結果以下node
後臺能夠設置 app.use(bodyParser.urlencoded({ extended: false }))
bash
若是表單數據中有對象的話,返回給後臺的數據結果以下app
後臺能夠設置 app.use(bodyParser.urlencoded({ extended: true }))
ui
後臺解析這兩種數據格式的源碼以下this
function parser (name) {
var mod = parsers[name]
if (mod !== undefined) {
return mod.parse
}
// this uses a switch for static require analysis
switch (name) {
case 'qs':
mod = require('qs') // extend: true
break
case 'querystring': // extend: false
mod = require('querystring')
break
}
// store to prevent invoking require()
parsers[name] = mod
return mod.parse
}
複製代碼
若是表單數據不帶對象格式的數據,使用 node 自帶的 querystring 解析。 若是表單數據帶對象格式的數據,使用第三方的 qs 解析,才能夠保證解析成功,以下所示url
var withEmptyString = qs.parse('a[]=&a[]=b');
assert.deepEqual(withEmptyString, { a: ['', 'b'] });
var withIndexedEmptyString = qs.parse('a[0]=b&a[1]=&a[2]=c');
assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] });
複製代碼
以爲對你有幫助,點個贊可好呀~~spa