Показать сообщение отдельно
  #14 (permalink)  
Старый 16.05.2013, 02:56
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

в принципе оно ничем не отличается от моего лисапета

querystring = {
    parse: function(s, sep, eq) {
        var o = {};
        eq = eq || '=';       

        if (s) {
            var a = s.split(sep || '&'), i = 0, l = a.length, a1, k, v;

            while (i < l) {
                a1 = a[i++].split(eq);
                k = a1[0];
                v = a1[1];                    

                if (k !== '') {
                    k = decodeURIComponent(k);
                    v = v == undefined ? '' : decodeURIComponent(v); 
                    
                    if (k in o) {
                        if (typeof o[k] == 'string') {
                            o[k] = new Array(o[k]);
                        }
                        
                        o[k].push(v);
                    }
                    else {
                        o[k] = v;
                    }
                }
            }
        }

        return o;
    },
    
    stringify: function(o, sep, eq) {
        var p, i, l, a, a1 = [];
        sep = sep || '&';
        eq = eq || '=';       

        for (p in o) {
            if ( o.hasOwnProperty(p) ) {
                a = Array.prototype.concat(o[p]);
                p = encodeURIComponent(p);
                
                for (i = 0, l = a.length; i < l; ++i) {
                    a1.push( p + ( a[i] === '' ? '' : eq + encodeURIComponent(a[i]) ) );
                } 
            }
        }

        return a1.join(sep);
    }
};
Ответить с цитированием