3

如何获取完整的 url ,例如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);
4

2 回答 2

2

哈希不会发送到服务器。您无法在服务器端获取它。(至少,不是没有一些运行客户端的代码通过 AJAX 在另一个请求中发送它。)

于 2012-08-23T03:08:26.387 回答
1

“#”后面的内容是客户端的书签,不是发送到服务器的 URL 的一部分。您可能想阅读“后退按钮”问题以了解其含义。SO上与此相关的内容:Detecting Back Button/Hash Change in URL

于 2012-08-23T03:11:15.983 回答