JS Object To C# ASP.Net ModelBind

之前做項目的時候發現,Jquery自帶的Form 序列化函數。與asp.net 裏邊的Modelbinding格式不匹配,所以寫了一個可以把前端的Object對象序列化成ModelBinding認識的數據格式的函數

//序列化對象
var serializedObj = function (obj) {
    var arr = [];
    recursiveSerialization(obj, arr, '');
    return arr.join('&');
}
var recursiveSerialization = function (obj, arr, head) {
    if (obj == '' || typeof obj == 'undefined') {
        return;
    }
    if (Array.isArray(obj)) {
        for (var i = 0; i < obj.length; i++) {
            var newhead = head + '[' + i + ']';
            recursiveSerialization(obj[i], arr, newhead);
        }
    }
    else if (typeof obj == 'number' || typeof obj == 'boolean' || typeof obj == 'string') {
        arr.push(head + '=' + obj + '');
    } else {
        for (var key in obj) {
            var newhead
            if (head == "") {
                newhead = key;
            } else {
                newhead = head + '.' + key;
            }
            recursiveSerialization(obj[key], arr, newhead)
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章