방법 설명:
문자열을 객체로 변환합니다. 직설적으로 말하면 실제로는 URL의 매개변수 문자열을 배열 객체로 변환합니다. (예제만 봐도 알 수 있음)
문법:
수신 매개변수:
str 변환할 문자열
sep 구분 기호를 설정합니다. 기본값은 '&'입니다
eq 할당 문자를 설정합니다. 기본값은 '='입니다.
[옵션] maxKeys 허용되는 문자열의 최대 길이, 기본값은 1000
예:
소스코드:
// key=val 문자열을 구문 분석합니다.
QueryString.parse = QueryString.decode = 함수(qs, sep, eq, 옵션) {
9월 = 9월 || '&';
eq = eq || '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
객체 반환;
}
var 정규식 = / /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;
}
for (var i = 0; i
var x = qs[i].replace(regexp, ' '),
idx = x.indexOf(eq),
kstr, vstr, k, v;
(idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx 1);
} 그 밖의 {
kstr = x;
vstr = '';
}
{
을 시도해 보세요
k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} 잡기 (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];
}
}
객체 반환;
};