地址栏中的#是什么意思

我们在开发vue时,地址栏中会出现#,如下图所示:
在这里插入图片描述
当我们点击跳转A页面时:
在这里插入图片描述
那么地址栏中的#到底是什么意思?如何去掉?

路由的两种显示模式

Hash模式

这个模式下地址栏中包含#。主要减少前台到后台的访问次数。当地址栏中的内容没有发生改变时,浏览器就不会发送请求到后台。这样就可以减少后台的访问次数。
缺点是,当微信支付时,或者分享URL时,#就无法满足需求了,因为URL中的参数中时不允许出现特殊符号的。
常常把Hash模式更改为History模式。

History模式

具有对URL历史记录进行修改的功能。这个模式下同样可以减少后台的访问次数,这时理由H5中的一个新功能来实现的。是目前普遍采用的模式。
缺点:刷新问题,当页面不存在时,就会出现404错误。而Hash模式下,及时页面不存在也不会出现404错误。

如何修改

在index.js中修改:即可

export default new Router({
  mode: 'history',
  routes: [
    ........
      ]
    }
  ]
})

在这里插入图片描述
这时的访问习惯,就跟我们通常的访问习惯保持一致了。

地址栏传参”是指在浏览器地址栏中,通过URL向服务器传递参数的一种方式。这种方式通常用于HTTP的GET请求,参数会附加在URL的末尾,以查询字符串(Query String)的形式出现。 --- ### 举个例子: ``` http://example.com/user?id=123&name=Tom ``` 在这个URL中: - `id=123` 和 `name=Tom` 就是通过地址栏传递的参数。 - `?` 后面的部分是查询字符串,多个参数之间用 `&` 分隔。 --- ### 在Web开发中如何获取这些参数? #### 1. 在Spring MVC中使用`@RequestParam`获取参数 ```java @GetMapping("/user") public String getUser(@RequestParam("id") int id, @RequestParam("name") String name) { return "ID: " + id + ", Name: " + name; } ``` 当访问 `/user?id=123&name=Tom` 时,Spring会自动将 `id` 和 `name` 参数映射到方法的参数中。 --- #### 2. 使用Servlet API获取参数(原始方式) ```java @GetMapping("/user") public String getUser(HttpServletRequest request) { String id = request.getParameter("id"); String name = request.getParameter("name"); return "ID: " + id + ", Name: " + name; } ``` --- #### 3. 在前端JavaScript中获取地址栏参数 ```javascript const urlParams = new URLSearchParams(window.location.search); const id = urlParams.get('id'); const name = urlParams.get('name'); console.log("ID:", id); console.log("Name:", name); ``` --- ### 地址栏传参的特点: | 特点 | 说明 | |------|------| | 易于分享 | URL中包含参数,复制粘贴即可传递状态 | | 可缓存 | GET请求可以被缓存 | | 有长度限制 | 浏览器对URL长度有限制(通常为2KB左右) | | 不安全 | 参数暴露在地址栏中,不适合传递敏感数据 | | 支持书签 | 可以保存为书签,再次访问时保持相同状态 | --- ### 地址栏传参的使用场景: - 分页查询:`/products?page=2&size=10` - 搜索功能:`/search?query=java` - 筛选条件:`/orders?status=completed` - 授权回调:`/callback?token=xxx` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值