vue配置axios请求地址?vue 动态获取浏览器URL,并配置axios的baseURL
关于window.location的详解:window.location 对象不仅可以获得当前页面的地址 (URL),还能够将浏览器重定向到新的页面。下面,以http://www.xxxxxx.com
顺晟科技
2022-09-03 12:31:21
131
Version4.0.14
顺晟科技:
如果hash在前query在后,如:http://localhost:8090/#/login?query=121使用浏览器的 location.search 也是获取不到,java中的URL类也一样,不知道这个是bug还是设计如此?
按照 js 来看 ,没有 location.search ,#/page?aa=10 是hash
#/login?query=121 全是 hash。
举个例子,如果没有 VueRouter 解析,那么 http://example.com/path?id=1#/page?r=12
这个 URL 只有这么几个部分:
举个例子,楼主希望在后端通过 URL 类处理,以 JavaScript 为例:
./vue.html?aa=10#/page,
楼主说的 location.search 对应的是 Query String 部分,而 # 字符及其后面的字符统称为 Fragment,关于这部分的定义可以参考 rfc3986 3.5 这部分。
./vue.html#/page?aa=10
注意几点:
先说结论,这是正常的。
当然,因为 VueRouter 采用了和 URL 一致的规范,所以并非一定要在 VueRouter 中,我们也可以将这部分字符串当成 URL 自己解析即可,这只是非常简单的字符串处理而已。
Reproduction linkhttp://demo.heyj.top/
Fragment 的用处并非只有用于路由,平时可以多留意下,最常见的比如 a 链接中 Fragment 是用于锚点而非路由。
VueRouter 只是借助 URL 中的 Fragment 部分实现了路由。所以这部分的定义仅限于 VueRouter 内部。
可以先了解一下什么是 URL (Uniform Resource Locators),在 rfc3986 中统一称为 URI: rfc3986 1
在加入 VueRouter 之后,其内部才对 hash 进行了解析,所以我们只能从应用内部获取这部分信息,比如:
按照 js 来看 ?aa=10 是 location.search ,#/page 是hash
按照 路由设置 page 是path,aa=10 是 query。没有问题。
23
2022-09
16
2022-09
14
2022-09
03
2022-09
03
2022-09
03
2022-09