若是表单数据中没有对象的话,返回给后台的数据结果以下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