방법 설명 :
문자열을 객체로 변환합니다. 무뚝뚝하게 말하면 실제로 URL의 매개 변수 문자열을 배열 객체로 변환합니다. (예제를 보면서 말할 수 있습니다)
문법:
코드 사본은 다음과 같습니다.
querystring.parse (str, [sep], [eq], [옵션])
매개 변수 수신 :
str
Sep은 분리기를 설정하고 기본값은 '&'입니다.
EQ는 할당 문자를 설정하고 기본값은 '='입니다.
[옵션] maxkeys 허용 할 수있는 문자열의 최대 길이, 기본값은 1000입니다.
예:
코드 사본은 다음과 같습니다.
querystring.parse ( 'foo = bar & baz = qux & baz = quux & corge')
// 반환합니다
{foo : 'bar', baz : [ 'qux', 'quux'], corge : ''}
소스 코드 :
코드 사본은 다음과 같습니다.
// 키 = val 문자열을 구문 분석합니다.
querystring.parse = querystring.decode = function (qs, sep, eq, 옵션) {
9 월 = 9 월 || '&';
EQ = EQ || '=';
var obj = {};
if (! util.isstring (qs) || qs.length === 0) {
반환 obj;
}
var regexp = //+/g;
QS = Qs.Split (SEP);
var maxkeys = 1000;
if (옵션 && util.isnumber (옵션 .maxkeys)) {
maxkeys = 옵션 .maxkeys;
}
var len = qs.length;
// maxkeys <= 0은 키를 제한해서는 안된다는 것을 의미합니다.
if (maxkeys> 0 && len> maxkeys) {
len = maxkeys;
}
for (var i = 0; i <len; ++ i) {
var x = qs [i] .replace (regexp, '%20'),
idx = x.indexof (eq),
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;
};