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使用更广泛!

上一篇下一篇

猜你喜欢

热点阅读