Methode Beschreibung:
Konvertiert eine Zeichenfolge in ein Objekt. Um es unverblümt auszudrücken, konvertiert es tatsächlich die Parameterzeichenfolge in der URL in ein Array -Objekt. (Sie können anhand der Beispiele erkennen)
Grammatik:
Die Codekopie lautet wie folgt:
queryString.parse (str, [sep], [Gl.], [Optionen])
Parameter empfangen:
str
SEP legt den Trennzeichen fest, Standard ist '&'
EQ legt das Zuweisungszeichen fest, Standard ist '='
[Optionen] MaxKeys Die maximale Länge einer Zeichenfolge, die akzeptiert werden kann, beträgt die Standardeinstellung 1000
Beispiel:
Die Codekopie lautet wie folgt:
queryString.parse ('foo = bar & baz = qux & baz = quux & corge')
// kehrt zurück
{foo: 'bar', baz: ['qux', 'quux'], korge: ''}
Quellcode:
Die Codekopie lautet wie folgt:
// eine Key = val String analysieren.
QueryString.parse = queryString.decode = Funktion (qs, sep, Gl., Optionen) {
Sep = Sep || '&';
Gl = Gl || '=';
var obj = {};
if (! util.isstring (qs) || qsgth === 0) {
Rückkehr 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 Tastenzahl nicht begrenzen sollten
if (maxkeys> 0 && len> maxkeys) {
len = maxkeys;
}
für (var i = 0; i <len; ++ i) {
var x = qs [i] .replace (regexp, '%20'),
IDX = X.Indexof (Gl),
Kstr, Vstr, K, V;
if (idx> = 0) {
kstr = x.substr (0, idx);
vstr = x.substr (idx + 1);
} anders {
kstr = x;
vstr = '';
}
versuchen {
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);
} anders {
obj [k] = [obj [k], v];
}
}
Rückkehr obj;
};