node 不支持get请求参数嵌套的解析?
2018-05-02 本文已影响0人
monvhh
前端请求参数如下:
{
token: 'test111',
routes: [{
departCityCode: 'BJS',
departDate: 1530316800000,
arriveCityCode: 'SHA'
}]
}
前端通过ajax,get
后端拿到的请求参数原始字符串
token=test111&routes%5BdepartCityCode%5D=BJS&routes%5BdepartDate%5D=1530316800000&routes%5BarriveCityCode%5D=SHA
后端拿请求参数,不支持基本都会解析成这样:
{
token: 'test111',
'routes[0][arriveCityCode]': 'SHA',
'routes[0][departCityCode]': 'BJS',
'routes[0][departDate]': '1530316800000'
}
1。koa2
request.query 不支持,见官方文档
koa2.png
2。query-string
不支持,见官方文档
query-string.png
3。node
const querystring = require('querystring');
官方文档没有说明是否支持,测试下来是不支持。
4。express
支持!!
express.png
我用的KOA,So,我只能自己写一个了……
不明白KOA为何不支持,而query-string提到的 ‘it's not spec'd ’,到底是不满足什么规范?
5。qs
支持,见官方文档
https://www.npmjs.com/package/qs
抄的别人的架构,没事用啥query-string。qs使用更广泛!