您的位置:首页 > Web前端 > Vue.js

Vue使用axios的POST请求传递数组参数,显示400错误的问题

2020-06-07 05:20 2536 查看

记录一下做项目时遇见的问题

背景: 前后端分离项目中, 前端vue项目使用axios的post发送请求传递数组类型的参数。

问题:在axios中data里放入传递的参数,后台使用 @RequestParam 获取参数,然后出现了400的错误。无法获取传递的参数。

解决方法:

前端在传递参数时,使用 FormData() 这个方法,将传递的参数处理一下,再放入data中,再使用@RequestParam即可。

[code]let chooseValues = ['参数1','参数2','参数3'];
let formData = new FormData();
formData.append("duty", chooseValues);//这里duty是后台使用 @RequestParam(value = "duty") String[] duty value的值
//调用封装好的axios请求
doTest(formData).then(function (response) {
alert("成功了");
}).catch(function (response) {
console.log(response);
});

axios请求:

[code]export function doTest(formData) {
return request({
url:'/manage/test',
method:'post',
data:formData
})
}

SpringMVC获取:

[code]@PostMapping(value = "test")
public void test(@RequestParam(value = "duty") String[] duty){
//打印数组
System.out.println(Arrays.toString(duty));
}
[code]仅供参考,大佬轻喷..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐