发送地图<string,list <string>&gt;作为请求参数通过ajax </string,list <string>

时间:2013-05-14 07:04:46

标签: java javascript jquery spring-mvc

我想通过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) {
...
}

请帮助我,我将感恩。

1 个答案:

答案 0 :(得分:0)

1)你应该永远不要在程序中有变量名,其唯一的区别是数字。这就是数组的用途。数组中元素的名称是myArr [0],myArr [1]等。

2)在java中,您可以执行所谓的“序列化”对象。序列化将对象转换为字符串,并且可以在ajax请求中发送字符串,然后可以在servlet中对字符串进行反序列化以从字符串创建对象。

序列化为字符串:How to binary (de)serialize object into/form string?