jQuery使用ajax向后台传递对象参数

本文介绍了一种解决Ajax向后台传递复杂对象参数时遇到的问题的方法。通过改变jQuery默认的数据格式,使其符合后台的需求,确保数据能正确传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用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);  
}  

 

转载于:https://www.cnblogs.com/jinhai-wow/p/8432911.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值