Deskripsi metode:
Mengubah string ke objek. Terus terang, sebenarnya mengubah string parameter pada URL menjadi objek array. (Anda dapat mengetahui dengan melihat contohnya)
tata bahasa:
Salinan kode adalah sebagai berikut:
querystring.parse (str, [sep], [eq], [option])
Menerima parameter:
str
SEP mengatur pemisah, default adalah '&'
EQ menetapkan karakter penugasan, default adalah '='
[Opsi] MAXKEYS Panjang maksimum string yang dapat diterima, default adalah 1000
contoh:
Salinan kode adalah sebagai berikut:
queryString.parse ('foo = bar & baz = qux & baz = quux & corte')
// kembali
{foo: 'bar', baz: ['qux', 'quux'], corte: ''}
Kode Sumber:
Salinan kode adalah sebagai berikut:
// Parsen key = val string.
QueryString.parse = queryString.decode = function (qs, sep, eq, option) {
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 berarti bahwa kita tidak boleh membatasi jumlah kunci
if (maxkeys> 0 && len> maxkeys) {
len = maxkeys;
}
untuk (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);
} kalau tidak {
kstr = x;
vstr = '';
}
mencoba {
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;
} lain jika (util.isarray (obj [k])) {
obj [k] .push (v);
} kalau tidak {
obj [k] = [obj [k], v];
}
}
kembalikan obj;
};