如何获取完整网址,例如http://user:pass@host.com:8080/p/a/t/h?query=string#hash。 使用request.url可以得到/ p / a / t / h?query = string,但我希望能够完整包括#hash。 我该怎么办?
var http = require('http');
var url = require('url');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end(request.url + '\n');
}).listen(8124);
答案 0 :(得分:2)
哈希不会发送到服务器。你不能得到服务器端。 (至少,不是没有一些代码运行客户端,而是通过AJAX在另一个请求中发送它。)
答案 1 :(得分:1)
“#”之后的内容是客户端的书签,不是发送到服务器的URL的一部分。您可能想要了解“后退按钮”问题以了解其含义。与SO相关的内容:Detecting Back Button/Hash Change in URL。