In diesem Beispiel "Hallo Welt":
// Load the http module to create an http server.
var http = require('http');
// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);
// Put a friendly message on the terminal
console.log("Server running at http://127.0.0.1:8000/");
Wie kann ich die Parameter aus der Abfragezeichenfolge abrufen?
http://127.0.0.1:8000/status?name=ryan
In der Dokumentation wurde Folgendes erwähnt:
node> require('url').parse('/status?name=ryan', true)
{ href: '/status?name=ryan'
, search: '?name=ryan'
, query: { name: 'ryan' }
, pathname: '/status'
}
Aber ich habe nicht verstanden, wie man es benutzt. Könnte jemand erklären?
[t]he request object is an instance of IncomingMessage
, und dashttp.IncomingMessage
hat eine Eigenschafturl
.Es gibt auch das Abfrage - Zeichenfolge - Modul ‚s -
parse()
Methode:quelle
kehrt zurück
ref: https://nodejs.org/api/url.html#url_urlobject_query
quelle
node -v
v9.10.1Wenn Sie versuchen, das Protokollabfrageobjekt direkt zu trösten, wird eine Fehlermeldung angezeigt
TypeError: Cannot convert object to primitive value
Also würde ich die Verwendung vorschlagen
JSON.stringify
Das Tun
curl http://localhost:3000/foo\?fizz\=buzz
wird also zurückkehrenRequest received on: /foo + method: GET + query: {"fizz":"buzz"}
quelle
Beginnend mit Node.js 11, die url.parse und andere Methoden des Legacy - URL - API wurden veraltet (nur in der Dokumentation, auf dem ersten) zugunsten der standardisierten WHATWG URL API . Die neue API bietet keine Analyse der Abfragezeichenfolge in ein Objekt. Dies kann mit der Methode querystring.parse erreicht werden:
Wenn Sie das obige Skript ausführen, können Sie die Serverantwort folgendermaßen testen: Beispiel:
quelle