Penerangan kaedah:
Tukar rentetan kepada objek. Secara terang-terangan, ia sebenarnya menukar rentetan parameter pada url menjadi objek tatasusunan. (Anda akan tahu hanya dengan melihat contoh)
Tatabahasa:
Terima parameter:
str Rentetan yang hendak ditukar
sep Tetapkan pembatas, lalai ialah ‘&’
eq Tetapkan aksara tugasan, lalai ialah ‘=’
[pilihan] maxKeys Panjang maksimum rentetan yang boleh diterima, lalai ialah 1000
Contoh:
Kod sumber:
// Parse a key=val string.
QueryString.parse = QueryString.decode = fungsi(qs, sep, eq, pilihan) {
sep = sep ||. '&';
eq = eq ||. '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
Kembalikan 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 bermakna kita tidak seharusnya mengehadkan kiraan kunci
jika (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
}
untuk (var i = 0; i < len; i) {
var x = qs[i].replace(regexp, ' '),
idx = x.indexOf(eq),
kstr, vstr, k, v;
Jika (idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx 1);
} lain {
kstr = x;
vstr = '';
}
Cuba {
k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} tangkap (e) {
k = QueryString.unescape(kstr, benar);
v = QueryString.unescape(vstr, benar);
}
Jika (!hasOwnProperty(obj, k)) {
obj[k] = v;
} lain jika (util.isArray(obj[k])) {
obj[k].push(v);
} lain {
obj[k] = [obj[k], v];
}
}
Kembalikan obj;
};