背景
之前做的一个项目, 配置在了不同了域名商, 而代码里使用axios
设置的baseURL
是同一个, 导致了在某些域名下出现了跨域问题, 后台小哥又不愿改代码, 后来想想其实如果不设置的话, 默认都是会拼接上当前地址了, 也就不会出现跨域问题了
相对地址是否要以斜杠开头
const xhr = new XMLHttpRequest()
h.open('get', 'a/b/c')
h.send(null)
以上代码在不同路径下会对不同地址进行请求
代码所在页面 | 发出的请求地址 |
---|---|
https://www.abc.com/ | https://www.abc.com/a/b/c |
https://www.abc.com/web/index.html | https://www.abc.com/web/a/b/c |
https://www.abc.com/web/xx/index.html | https://www.abc.com/web/xx/a/b/c |
如果请求带上斜杠
const xhr = new XMLHttpRequest()
h.open('get', '/a/b/c')
h.send(null)
以上代码在不同路径下会对不同地址进行请求
代码所在页面 | 发出的请求地址 |
---|---|
https://www.abc.com/ | https://www.abc.com/a/b/c |
https://www.abc.com/web/index.html | https://www.abc.com/a/b/c |
https://www.abc.com/web/xx/index.html | https://www.abc.com/a/b/c |