Wie erhalte ich Informationen über den Kunden in node.js
in diesem sehr einfachen Beispiel:
var sys = require("sys"),
http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World!");
}).listen(8080);
sys.puts("Server running at http://localhost:8080/");
1.) Welche Art von Informationen kann ich vom client? wie browser, Bildschirmauflösung, etc?
2.) Wie kann ich das senden von Informationen vom client zum server, wie parameter?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht die Bildschirmauflösung Informationen, aber Sie können den user-agent aus dem Request-Header "User-Agent"
1), die Referrer-URL, IP-Adresse, User-Agent, der Display-Größe und andere Statistiken.
Sie können auch geo-location, aber das ist komplizierter.
2) Einige Daten im Header, damit diese gesendet werden auf jede Anforderung - sonstige Daten wie Bildschirm-Größe ist ein wenig schwieriger, so dass Sie wollen, um einen ajax-request zu senden, zusammen.
referrer
Browser sendenreferer
mit einem einzigen R. Express nicht übersetzen, die auf die richtige Schreibweise, so dass die oben genannten Anforderungenreq.headers['referer']
.header('referrer')
(das ist ein alias fürreq.get('referrer')
, die in der Tat beiden Griffereferer
undreferrer
. Doch in Ihrer Antwort sind Sie den Zugriff auf die request-Eigenschaftheaders
direktreq.headers['referrer']
, die Erträgeundefined
. 😉Haben, Lesen Sie die API-docs? Die req-Objekt ist ein http.ServerRequest Objekt, wie dort dokumentiert. Es ist HTTP, und solche Dinge wie Auflösung sind nicht Teil des Protokolls. Was können Sie bekommen, ist eine user-agent, und von dort könnten Sie in der Lage, abrufen von mehr Daten mit einem anderen service.
Denken Sie daran, dass node.js ist eine eigenständige app - es ist nicht in einem browser ausgeführt wird - es ist ein HTTP-Server-Anwendung, die ausgeführt wird in einem JS-interpreter.