jinhai-wow

在使用ajax向后台传递对象参数时,发现一直报错无法传到action中的对象,从网上搜到的答案说是因为jQuery会默认将data参数数组以a[b]的格式向后台传递,而后台需要的格式是a.b类型的,所以jQuery传递时需要变换格式,以url中的参数形式即(a.b=xxx&a.c=xxx)后台可以正常收到,可以如下方式变换:

/*
*param:ajax里的参数数组
*key:后台的VO对象
*/
function parseParam(param, key) {  
    var paramStr = "";  
    if (param instanceof String || param instanceof Number  
            || param instanceof Boolean) {  
        paramStr += "&" + key + "=" + param;  
    } else {  
        $.each(param, function(i) {  
            var k = key == null ? i : key  
                + (param instanceof Array ? "[" + i + "]" : "." + i);  
            paramStr += \'&\' + parseParam(this, k);  
        });  
    }  
    return paramStr.substr(1);  
}  

 

分类:

技术点:

相关文章:

  • 2022-03-03
  • 2022-12-23
  • 2021-12-26
  • 2021-11-08
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-12
  • 2021-12-26
  • 2021-10-16
  • 2022-12-23
  • 2021-11-04
  • 2021-12-26
相关资源
相似解决方案