Метод Описание:
Преобразует строку в объект. По словам прямо, он фактически преобразует строку параметров на URL в объект массива. (Вы можете сказать, посмотрев на примеры)
Грамматика:
Кода -копия выглядит следующим образом:
QueryString.parse (str, [sep], [eq], [options])
Получить параметры:
стр
SEP устанавливает сепаратор, по умолчанию IS '&'
Уравнение устанавливает символ назначения, по умолчанию - '='
[Параметры] Maxkeys максимальная длина строки, которая может быть принята, по умолчанию составляет 1000
пример:
Кода -копия выглядит следующим образом:
QueryString.parse ('foo = bar & baz = qux & baz = quux & corge')
// возвращает
{foo: 'bar', baz: ['qux', 'quux'], corge: ''}
Исходный код:
Кода -копия выглядит следующим образом:
// ПАНСАНИЕ КЛЮЧ = val string.
QueryString.parse = QueryString.decode = function (QS, SEP, EQ, Options) {
Sep = Sep || '&';
EQ = EQ || '=';
var obj = {};
if (! util.isstring (qs) || qs.length === 0) {
вернуть OBJ;
}
var regexp = //+/g;
qs = qs.split (sep);
var maxkeys = 1000;
if (options && util.isnumber (options.maxkeys)) {
maxkeys = options.maxkeys;
}
var len = qs.length;
// maxkeys <= 0 означает, что мы не должны ограничивать счет
if (maxkeys> 0 && len> maxkeys) {
len = maxkeys;
}
для (var i = 0; i <len; ++ i) {
var x = qs [i] .replace (regexp, '%20'),
idx = x.indexof (уравнение),
Kstr, Vstr, K, V;
if (idx> = 0) {
kstr = x.substr (0, idx);
vstr = x.substr (idx + 1);
} еще {
kstr = x;
vstr = '';
}
пытаться {
k = decodeuricomponent (kstr);
v = decodeuricomponent (vstr);
} catch (e) {
k = QueryString.Unescape (Kstr, True);
v = QueryString.Unescape (vstr, true);
}
if (! hasownproperty (obj, k)) {
obj [k] = v;
} else if (util.isarray (obj [k])) {
obj [k] .push (v);
} еще {
obj [k] = [obj [k], v];
}
}
вернуть OBJ;
};