2

我想通过 ajax 请求发送地图,但收到 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) {
...
}

请帮助我,我将不胜感激。

4

1 回答 1

0

1)你不应该在程序中使用唯一的区别是数字的变量名称。这就是数组的用途。数组中元素的名称为 myArr[0]、myArr[1] 等。

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

序列化为字符串:如何将对象二进制(反)序列化为/形成字符串?

于 2013-05-14T07:11:04.160 回答