原因:
如果请求参数中带有中括号[],[]在url中属于功能性字符,入参会发生变化,出现400 Bad Request错误。
你提供的入参
params={ b:[1,2,3] }
后端接受到的参数
params={ b[]:'1', b[]:2], b[]:3 }
解决办法
前端需要使用decodeURIComponent()函数转义,
params={
decodeURIComponent( b:[1,2,3])
}
但是 转化完 只是将数组转化为字符串, 给后端发送的也只是字符串格式的
想要转换为数组,需要安装qs插件进行转换
可以让后端修改入参数据类型,实测后端修改很简单
当请求参数包含中括号时,URL会解析它们为功能性字符,导致400BadRequest错误。前端需使用decodeURIComponent转义,但这仅将数组转为字符串。为将参数转换为数组格式,应使用QS插件。后端修改入参数据类型也是可行解决方案。
26

被折叠的 条评论
为什么被折叠?



