个人笔记,如有错误,请各位大佬批评指正
后台代码:
@RequestBody注解是关键!!!!
@RequestMapping("/biDown/{id}")
@ResponseBody
public ZDResponse biDown(@PathVariable("id") String id, @RequestBody Map<String, Object> map) {
map.get('persons');
}
前台js
function click() {
// 会把arr1当成字符串传递,后台map接收到后,通过可以获取出来的是个String
var arr1 = '["A001", "B001", "C001"]';
var map1 = '{"persons": ' + JSON.stringify(arr1) + '}';
// 会把arr2当成对象传递,后台map接收到后,通过可以获取出来的是个ArrayList
var arr2 = ["A001", "B001", "C001"];
var map2 = '{"persons": ' + JSON.stringify(arr2) + '}';
$.ajax({
type: 'POST',
contentType: 'application/json;charset=utf-8', // 此处注意,不能漏
url: "../../bi/biDown/queryBasCodeByModel",
processData: false, // 这个无所谓,不写的话,后台也一样能正常接收到map
dataType: 'json',
data: map2,
success: function (data) {
console.log(data);
},
error: function () {
}
});
}
参考博客:https://blog.csdn.net/chehec2010/article/details/85275129?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task