Heim >Web-Frontend >js-Tutorial >Anweisungen zur Verwendung der querystring.parse-Methode in node.js_node.js

Anweisungen zur Verwendung der querystring.parse-Methode in node.js_node.js

WBOY
WBOYOriginal
2016-05-16 16:27:481893Durchsuche

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:

Code kopieren Der Code lautet wie folgt:

querystring.parse(str, [sep], [eq], [options])

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:

Code kopieren Der Code lautet wie folgt:

querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// gibt zurück
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

Quellcode:

Code kopieren Der Code lautet wie folgt:

// 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;
};

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn