Methodenbeschreibung:
String in Objekt konvertieren. Um es ganz klar auszudrücken: Es konvertiert tatsächlich die Parameterzeichenfolge in der URL in ein Array-Objekt. (Sie werden es allein anhand des Beispiels wissen)
Grammatik:
Empfangsparameter:
str Die zu konvertierende Zeichenfolge
sep Legen Sie das Trennzeichen fest, der Standardwert ist „&“
eq Legen Sie das Zuweisungszeichen fest, der Standardwert ist „=“
[Optionen] maxKeys Die maximale Länge akzeptabler Zeichenfolgen, der Standardwert ist 1000
Beispiel:
Quellcode:
// Eine key=val-Zeichenfolge analysieren.
QueryString.parse = QueryString.decode = function(qs, sep, eq, options) {
sep = sep ||. '&';
eq = eq ||. '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
Rückgabe 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 bedeutet, dass wir die Anzahl der Schlüssel nicht begrenzen sollten
if (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
}
für (var i = 0; i < len; i) {
var x = qs[i].replace(regexp, ' '),
idx = x.indexOf(eq),
kstr, vstr, k, v;
Wenn (idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx 1);
} sonst {
kstr = x;
vstr = '';
}
Versuchen Sie es mit {
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);
} sonst {
obj[k] = [obj[k], v];
}
}
Rückgabe obj;
};