关于koa和express解析get请求参数时结果不一样的问题
请求URL为: /api/articles?payload%5Bpage%5D=1&payload%5Blimit%5D=3 解码是这样子的:?payload[page]=1&payload[limit]=3
koa的qeury 的值为: { ‘payload[page]’: ‘1’, ‘payload[limit]’: ‘3’ }
express的query的值为: { payload: { page: ‘1’, limit: ‘3’ } }
express解析出来的query才是我想要的
然后我查看了一下express和koa解析query的代码, express默认解析get请求参数用的是
var qs = require('qs');
koa默认解析get请求参数用的是node的内置模块
const qs = require('querystring)
不知道是不是这两个库的问题,最后我把koa也改成跟express使用一样的库去解析,然后我发现得到跟express一样是我想要的query了
最后问一下,是我使用koa的方法不对吗?还是koa所使用的querystring这个库的问题呀
1 回复
再仔细看了一下官网,貌似是这个原因,但是我不知道我这种 ?payload[page]=1&payload[limit]=3 写法算不算嵌套。