我想通过ajax请求发送一个Map,但我收到400个错误的请求。 我的数据就像。
var idss1 = [];
var idss2 = [];
var idss3 = [];
var idss4 = [];
var idss5 = [];
map[id_1] = idss1;
map[id_2] = idss2;
map[id_3] = idss3;
map[id_4] = idss4;
map[id_5] = idss5;
我们所有的键(id_ *)都是字符串
Ajax调用
$.ajax({
type:"POST",
url: myurl,
dataType: "text",
data : {allIds : map},
success: function(response) {...}
在服务器端,我的方法签名是
public void myMethod(HttpServletRequest request, @RequestParam("allIds") Map<String, List<String>> ids) {
...
}
请帮助我,我将感恩。
答案 0 :(得分:0)
1)你应该永远不要在程序中有变量名,其唯一的区别是数字。这就是数组的用途。数组中元素的名称是myArr [0],myArr [1]等。
2)在java中,您可以执行所谓的“序列化”对象。序列化将对象转换为字符串,并且可以在ajax请求中发送字符串,然后可以在servlet中对字符串进行反序列化以从字符串创建对象。
序列化为字符串:How to binary (de)serialize object into/form string?