Heim > Artikel > Web-Frontend > Detaillierte Erläuterung des queryString-Moduls in nodejs
Verwandte Empfehlungen: „nodejs Tutorial“
Ob Front-End oder Back-End, ein häufiges Anwendungsszenario ist die Verarbeitung von Parametern in URLs. Das nodeJS-Modul queryString stellt einige Tools zum Verarbeiten von Abfragezeichenfolgen bereit. In diesem Artikel wird der queryString in nodeJS ausführlich vorgestellt Die Zeichenfolge (str) wird in eine Reihe von Schlüssel-Wert-Paaren analysiert:
var querystring = require('querystring'); /* { unescapeBuffer: [Function], unescape: [Function: qsUnescape], escape: [Function], encode: [Function], stringify: [Function], decode: [Function], parse: [Function] } */ console.log(querystring);
str f7e83be87db5cd2d9a8a0b8117b38cd4 要解析的 URL 查询字符串。 sep f7e83be87db5cd2d9a8a0b8117b38cd4 用于界定查询字符串中的键值对的子字符串。默认为 '&'。 eq f7e83be87db5cd2d9a8a0b8117b38cd4 用于界定查询字符串中的键与值的子字符串。默认为 '='。 options a87fdacec66f0909fc0757c19f2d2b1d decodeURIComponent 23f67af9dc9e45ce930bf851ef4cd2be 当解码查询字符串中百分号编码的字符时使用的函数。默认为 querystring.unescape() maxKeys d80b5def5ed1be6e26d91c2709f14170 指定要解析的键的最大数量。默认为 1000。指定为 0 则移除键数的限制
var querystring = require('querystring'); var str = 'foo=bar&abc=xyz&abc=123'; console.log(querystring.parse(str));//'{ foo: 'bar', abc: [ 'xyz', '123' ] }'
Der dritte Parameter wird verwendet um die Teilzeichenfolge des Schlüssel-Wert-Paares in der Abfragezeichenfolge zu definieren. Die Teilzeichenfolge des Schlüssels und des Werts
var querystring = require('querystring'); var str = 'foo=bar&abc=xyz&abc=123'; console.log(querystring.parse(str,'a'));//{ foo: 'b', 'r&': '', bc: [ 'xyz&', '123' ] }
[Hinweis] Das von der Methode querystring.parse() zurückgegebene Objekt erbt nicht vom Objekt von JavaScript. Das bedeutet, dass typische Objektmethoden wie obj.toString(), obj.hasOwnProperty() usw. nicht definiert sind und nicht verwendet werden können
Standardmäßig wird davon ausgegangen, dass prozentcodierte Zeichen in der Abfragezeichenfolge UTF verwenden – 8 Kodierung. Wenn eine andere Zeichenkodierung verwendet wird, muss die Option decodeURIComponent angegeben werden Die umgekehrte Operation der parse()-Methode generiert eine URL-Abfragezeichenfolge aus einem bestimmten Objekt, indem die eigenen Eigenschaften des Objekts durchlaufen werden. Die Parameter lauten wie folgt: )-Methode führt eine URL-Prozentkodierung für die angegebene Zeichenfolge durch, genau wie die Methode encodeURIComponent. Die Methode querystring.escape() wird von querystring.stringify() verwendet und normalerweise nicht direkt verwendet. Der Grund, warum es für die Außenwelt offen ist, besteht darin, dass die Codierungsimplementierung bei Bedarf neu geschrieben werden kann, indem eine Funktion zu querystring.escape zugewiesen wird. Führen Sie die Decodierung von prozentcodierten Zeichen in der URL durch. Die Methode querystring.unescape() wird verwendet von querystring.parse() und wird normalerweise nicht direkt verwendet. Der Grund, warum es für die Außenwelt offen ist, besteht darin, dass die Dekodierungsimplementierung bei Bedarf überschrieben werden kann, indem querystring.unescape eine Funktion zugewiesen wird.
Die Methode querystring.unescape() verwendet standardmäßig die in JavaScript integrierte decodeURIComponent()-Methode zum Dekodieren
var querystring = require('querystring'); var str = 'foo=bar&abc=xyz&abc=123'; console.log(querystring.parse(str,'&','c'));//{ 'foo=bar': '', ab: [ '=xyz', '=123' ] }
GET
Die von get angeforderten Daten werden in der URL gespeichert
var querystring = require('querystring'); //{ w: '����', foo: 'bar' } console.log(querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,{ decodeURIComponent: 'gbkDecodeURIComponent' }));
obj a87fdacec66f0909fc0757c19f2d2b1d 要序列化成一个 URL 查询字符串的对象 sep f7e83be87db5cd2d9a8a0b8117b38cd4 用于界定查询字符串中的键值对的子字符串。默认为 '&' eq f7e83be87db5cd2d9a8a0b8117b38cd4 用于界定查询字符串中的键与值的子字符串。默认为 '=' options encodeURIComponent 23f67af9dc9e45ce930bf851ef4cd2be 当把对URL不安全的字符转换成查询字符串中的百分号编码时使用的函数。默认为 querystring.escape()
POST
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des queryString-Moduls in nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!