axios的get请求带小括号()后报400?

axios的url上带小括号()会报400

let name = o.name
instanceFileDown.get('/db/download', {name: name, type: o.type})

我使用axios的get请求下载文件时,给后台发送了文件的文件名,文件名上有小括号,axios会转义中文字符,小括号不被转义
image.png

手动转义

我以为是小括号没有被转义报的错,于是手动转义了,但还是不行

instanceFileDown.get('/db/download?' + qs.stringify({name: o.name, type: o.type}, {}) //手动转义

image.png

这个url看着也没问题,为什么会报400呢?

而且只要文件名不带小括号,就可以下发成功

阅读 3k
2 个回答

遇到这种问题,第一时间问后台,怎么回事,后台那边能看到的。自信点

使用 encodeURIComponent() 这个API把带有 () 这种特殊字符的文件名转义一下,看看是否后端可以正确解析。

但是看你补充了手动转移仍旧会出现问题,多半就是后端的锅,让后端检查一下解析是否没处理好。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏