jQuery使用ajax向后台傳遞對象參數


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM