Javascript 在“后获取url”#&引用;在express.js中间件请求中
我需要获取服务器中间件上的url(使用express.js)。我使用Javascript 在“后获取url”#&引用;在express.js中间件请求中,javascript,url,hash,express,request,Javascript,Url,Hash,Express,Request,我需要获取服务器中间件上的url(使用express.js)。我使用req.url,但是当url从/#开始时,一些/urlreq.url返回/ 与请求路径相同 在express.js中,有没有一种方法可以在#之后获取url?使用Node.js中提供的内置url解析url并创建url。这将有一个hashfragment属性,其中包含所需的哈希片段 const url = require('url') const urlObj = url.parse(req.url) console.log(url
req.url
,但是当url从/#开始时,一些/url
req.url返回/
与请求路径
相同
在express.js中,有没有一种方法可以在
#
之后获取url?使用Node.js中提供的内置url
解析url并创建url。这将有一个hash
fragment属性,其中包含所需的哈希片段
const url = require('url')
const urlObj = url.parse(req.url)
console.log(urlObj.hash) // #some/url
否。URL中以
#
符号开头的部分永远不会发送到服务器
URL中的#
符号用于介绍。这用于链接到页面的特定部分。如果浏览器加载/#some/url
,它将有效地加载/
,并跳到带有id=“some/url”
(如果存在)的HTML元素。片段标识符仅与浏览器相关,因此不会随HTTP请求一起发送
但是,您可以做的是使用客户端Javascript读取
window.location.hash的值,并使用XMLHttpRequest将其发送到服务器。()可能的重复这里有一个很好的解释,#-部分没有传输到服务器。除非
-部分没有传输到服务器。我在本地尝试过,我运行了一个url,比如:over-1000-car-911-white-vin#lala,然后在nodejs中,运行console.log('req.url',url.parse(req.url))-console.log('req.originalUrl',url.parse(req.originalUrl))并且哈希符号永远不会像您所说的那样被读取