我需要在服务器中间件上获取URL(使用express.js)。我使用req.url
,但当url从/#some/url
req.url开始返回时/
...
与req.path
相同..
有没有办法在express.js中的#
之后获取网址?
不会。以#
符号开头的URL部分永远不会发送到服务器。
URL中的#
符号用于引入fragment identifier。这用于链接到页面的特定部分。如果浏览器加载/#some/url
,它将有效加载/
,并跳转到id="some/url"
(如果存在)的HTML元素。片段标识符仅与浏览器相关,因此不会随HTTP请求一起发送。
然而你可以做的是使用客户端Javascript来读出window.location.hash
的值并使用XMLHttpRequest将其发送到服务器。 (See other Stack Overflow post.)