如何解码用x-www-form-urlencoded编码的Javascript对象的数组?
我发送POST请求以下数组:
let bookings = [{ owner : clientId, businessId : businessId, service : serviceId, startDate : new Date() }, { owner : clientId, businessId : businessId, service : serviceId, startDate : new Date() }];
在服务器上,我有以下设置:
app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false}));
并获得以下req.body
内容:
0[owner]=56fd4dcf8b98ce1c3d87e3ad, 0[businessId]=56fd4dcf8b98ce1c3d87e3ac, 0[service]=56fd4dcf8b98ce1c3d87e3ab, 0[startDate]=2016-03-31T16:18:23.220Z, 1[owner]=56fd4dcf8b98ce1c3d87e3ad, 1[businessId]=56fd4dcf8b98ce1c3d87e3ac, 1[service]=56fd4dcf8b98ce1c3d87e3ab, 1[startDate]=2016-03-31T16:18:23.220Z
我怎样才能解码这回JavaScript数组的对象?
通过body-parser
使用urlencoded()
函数。
app.use(bodyParser.urlencoded({extended: true}));
扩展
扩展选项允许select在查询string库(如果为false)或qs库(如果为true)时parsingURL编码的数据。 “扩展”语法允许将丰富的对象和数组编码为URL编码的格式,从而允许使用URL编码的类似JSON的体验。 有关更多信息,请参阅qs库。
默认为true,但使用默认值已被弃用。 请研究qs和querystring之间的差异,并select适当的设置。