Для получения полного доступа
зарегистрируйтесь.
Snippet,  JavaScript

Сериализация JavaScript обьекта в строку с GET параметрами


В своей работе мне понадобилось создать REST интерфейс, и обращаться на бек через GET параметры. Привожу сниппет в нескольких примерах на JS и JQ.

//JS версия

var obj = {
    param1: 'something',
    param2: 'somethingelse',
    param3: 'another',
    bla: {
        param5: 'i\'m nested!',
        ja: {
            param6: 'i am really nested'
        }
    }
};

var serialiseObject = function(obj) {
    var pairs = [];
    for (var prop in obj) {
        if (!obj.hasOwnProperty(prop)) {
            continue;
        }

        if (Object.prototype.toString.call(obj[prop]) == '[object Object]') {
            pairs.push(serialiseObject(obj[prop]));
            continue;
        }

        pairs.push(prop + '=' + obj[prop]);
    }
    return pairs.join('&');
}

console.log(serialiseObject(obj));

// param1=something&param2=somethingelse&param3=another&param5=i'm nested!&param6=i am really nested

// jQuery версия
var params = { width:1680, height:1050 };
var str = jQuery.param( params );

console.log(str)
// width=1680&height=1050
  JavaScript

Автор


Gravatar image
zular
  • Reputation: 36
  • Snippets : 7
  • Revisions : 0
Подписаться

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация