You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node Express服务端如何获取带#哈希锚点URL的请求参数

核心原因

URL 里 # 开头的片段是锚点,这部分内容仅在浏览器侧处理,完全不会发送到服务端。你之前把参数、路径拼在 # 后面,Express 根本收不到这部分内容,自然匹配不到对应路由。

实现方法

所有需要服务端识别的路径、参数,必须放在 # 之前,锚点放在URL的最末尾,不会影响原有的自动滚动到对应元素的效果。

支持的URL格式

  • 查询参数形式:
    http://localhost:3000/?test=2#record_2
    
  • 路径参数形式:
    http://localhost:3000/test/2#record_2
    

对应Express路由写法

  • 处理查询参数:
app.get('/', async (request, response) => {
    // 从query对象获取test参数
    console.log('参数值:', request.query.test)
    response.redirect('/')
})
  • 处理路径参数:
app.get('/test/:id', async (request, response) => {
    // 从params对象获取路径id
    console.log('参数值:', request.params.id)
    response.redirect('/')
})

注意:锚点永远是URL的最后一段,不要在#之后拼接任何需要服务端处理的内容。

内容的提问来源于stack exchange,提问作者sisko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 16:06:13