Ajax 传参List后台无法获取

技术 · 2019-07-10

如果是单纯的传值
$.ajax{

      url:"xxxx",
      data:{
            array: ["Jason","Sean","Danny"]
      }

后台无法接收到数据,因为jQuery需要调用jQuery.param序列化参数,
jQuery.param( obj, traditional ),默认的话,traditional为false,即jquery会深度序列化
参数对象,以适应如PHP和Ruby on Rails框架, 但servelt api无法处理,我们可以设置traditional
为true阻止深度序列化

另外,如果List中还嵌套了Map,建议在页面上使用
arrProp1.push(JSON.stringify(b));

先将map转为json,java端后台接收以后,可以使用
ProGoodsAttr attr = JsonUtils.fromJson(s, ProGoodsAttr.class);
将json再转为相应的对象。

Theme Jasmine by Kent Liao