java - 通过 ajax 发送 Map<String,List<String>> 作为请求参数

标签 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) 永远不要在程序中使用唯一不同的是数字的变量名。这就是数组的用途。数组中元素的名称为myArr[0]、myArr[1]等。

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

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

关于java - 通过 ajax 发送 Map<String,List<String>> 作为请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16537039/

相关文章:

java - 统计 Mule 流处理的请求数

java - setOnKeyPressed 事件无法正常工作

javascript - 编译为 javascript 是否会阻止 dart 添加弱引用?

javascript - JMeter - 从页面获取指定链接

java - Swagger + Spring : is it possible to preserve the fields order in the payload?

java - 为什么 arraylist 循环在删除元素时崩溃

javascript - 如何使用 wp_localize_script 从另一个 php 文件传递​​参数

jquery - Rails 4.2 DataTables 无法重新初始化 DataTable

javascript - React 中的 jQuery 克隆不会将点击监听器传递给克隆

c# - 如何将预先格式化的 HTML 元素从 WebMethod 发送到 jQuery