在TS中使用paramsSerializer的问题

来源:2-15 泛型第三部分 - 泛型在类和接口中的使用

罗树荣

2023-01-29

paramsSerializer使用参考了老师的解决方案:https://coding.imooc.com/learn/questiondetail/RQyZ06gaBn7Ye459.html

但是我用了encode之后传的参数全都是空,不知道是什么情况。

图片描述

图片描述

写回答

2回答

张轩

2023-01-31

同学你好

经查,这里不应该使用上次说的 encode 参数,encode 会将 params 的每个 key/value 都运行,所以说一个[1,2] 的数组要运行四次。这里应该使用serialize 参数,这个对应的是单独格式化的方式:

params: { ids: ids },
paramsSerializer: {
    serialize: (params) => {
        return qs.stringify(params, { arrayFormat: 'repeat' })
    }
},
// 返回的是:
cwzfy-admin/end_users?ids=0&ids=1

亲测可用。

相关讨论:请看:https://github.com/axios/axios/issues/5058

0
1
罗树荣
非常感谢!
2023-02-03
共1条回复

张轩

2023-01-30

同学你好

请提供一下源代码吧~ 我在本地帮你看看

0
4
罗树荣
老师,有时间麻烦帮忙看看咯~
2023-01-31
共4条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程