当前位置: 首页 > 知识库问答 >
问题:

javascript - v3的hash模式下有遇到过这个问题吗?

瞿博学
2024-03-24

v3的hash模式下有遇到过这个问题吗?
接口返回的地址后面有4个#号键例如(http://*/index.html####NKFDSAFJSKF...)
打开这个地址后就会变成 http://*/index.html#/###NKFDSAFJSKF...(打不开网页)

但是自己拼接的地址: 协议、域名、端口号+/index.html####+${useddata}
打开这个地址后就会变成 http://*/index.html#/home###NKFDSAFJSKF...(可以打开)

共有2个答案

栾英资
2024-03-24

为什么要在接口返回的地址中直接使用 # 而不是使用转义后的 %23

喻珂
2024-03-24

你遇到的问题似乎是在使用 Vue.js 的路由模式时,特别是当使用 hash 模式 (# 作为路由标识符) 时。

在 Vue.js 的路由中,使用 hash 模式时,URL 的路径实际上是由 # 分割成两部分的。第一部分是基础的 URL(例如 http://***/index.html),而第二部分是路由路径(例如 #/home)。

当你看到 URL 中有连续的 # 符号,如 http://***/index.html####NKFDSAFJSKF...,这实际上是不符合 URL 标准的,因为 URL 中的 # 符号通常只用来标识路由,而不应该连续出现。

当你自己拼接的地址如 http://***/index.html####+${useddata} 能够被正确解析为 http://***/index.html#/home###NKFDSAFJSKF...,这可能是因为某些库或框架在处理这种特殊情况时做了特殊处理。

为了解决这个问题,你需要确保从接口返回的地址格式是正确的。如果接口返回的地址包含连续的 # 符号,你可能需要修改接口的实现,或者在前端处理这个地址时去除多余的 # 符号。

此外,如果可能的话,考虑将路由模式从 hash 模式更改为 HTML5 的 history 模式,这样可以避免 # 符号带来的问题。但请注意,history 模式需要服务器配置的支持,以确保当用户直接访问一个路由路径时,服务器能够返回正确的 index.html 文件。

 类似资料:
  • 不知道是插件还是什么原因,鼠标单击一个标签时,vscode直接高亮整个文件的所有同名标签了,以前是只高亮与之对应的尾标签的,怎么改回去呢?

  • 假设我有以下字符串: 我需要从这个字符串中提取以下数据: 标题1 F (S#H88(P#M6)(P#M31))和(S#K3(P#M58)(P#M58)) 而且 标题2 P (S#A54(P#R8))和(S#V59(P#A25)(P#Y82)) 哪里 是某种标题。 是某种状态。 是列表的某种列表,如 由于regex知识有限,我可以得到1和2,但只能得到3的第一部分。 可以存在多次,内部(P#xx)也

  • 失败:生成失败,出现异常。 问题:配置根项目“android”时出现问题 无法解析配置“classpath”的所有项目。找不到组织。喷气式飞机。kotlin:kotlin gradl电子插件:1.3.50。在以下位置搜索:-https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.3.50

  • 上面的flex布局,我想做成下图这种 中间的优惠券内容 也就是 info 里的内容,可以 在一行横向滚动,左右两部分内容则和图片一样分布在两边

  • 本文向大家介绍ElementUI使用表格组件时有遇到过问题吗?相关面试题,主要包含被问及ElementUI使用表格组件时有遇到过问题吗?时的应答技巧和注意事项,需要的朋友参考一下 遇到表格的横向滚动条被固定列挡住的问题,在有合计的情况下(1:表格有横向滚动条,2:有固定列,3:底部有合计)满足这三个条件,固定列的的宽度会把横向滚动条挡住,导致固定列下面滚动条不能拖动。

  • 当我添加timestamp变量时,bat文件中断。我尝试了一些不同的方法,但我不确定为什么添加timestamp变量会破坏它。