springboot框架后端怎么接收map参数,求大佬解答?

前端传的参数

图片说明

接口

图片说明

前端代码

图片说明

前端报错

图片说明

看这是复杂数据,试一下把整个 data 序列号化在作为参数传递,

     type : 'post',
        contentType: "application/json",//必须指定,否则会报415错误
        dataType : 'json',
        url : encodeUri,
        data : JSON.stringify(data),

JSON.stringify(data) 里面的 data 需要先定义,重新赋值一下。

https://blog.csdn.net/eeeeasy/article/details/81708600

后端改成post请求,将@requestMapping改成@postMapping


//得到搜索框数据
function  getFromData() {
    var dataMap = new Map();
    $("#form_id input,select").each(function(){
        var value= $(this).val();      //input 值
        var name= $(this).attr('name');
        dataMap.set(name,value);
    });
   //Map转为Json的方法
    let obj= Object.create(null);
    for (let[k,v] of dataMap) {
        obj[k] = v;
    }
    return obj;
}


//发送ajax请求(第一种方式,推荐):1.contentType 可以不填 2.发送数据为json对象
let obj=getFromData();
 $.ajax({
          url: "srarch_data/search_data_detail.action",
         type: "post",
          dataType:'json',
          data: {"jsonData":JSON.stringify(obj)},
          success: function (json) {

         }
      });


用json传递,前后端的数据模型对上就好了