什么是跨域

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

常见的跨域场景

Vue学习--跨域问题解决

Vue解决跨域问题

Vue代码结构

  1. request.js设定axios的请求设定初始URL请求:
    Vue学习--跨域问题解决
    其中process.env.VUE_APP_BASE_API设定是通过项目内 .env文件设定的,举例:
    Vue学习--跨域问题解决
    最终设定的基础地址为:http//localhost:8000/dev-api
  2. api请求地址设定
    Vue学习--跨域问题解决
    基础URL与API请求地址整合:http//localhost:8000/dev-api/user/login
    而我们想访问的后端的URL地址是: http//localhost:8081/mock/user/login,
    这时就会出现跨域的问题!

Vue跨域问题解决

通过Vue提供的配置文件vue.config.js进行解决:
Vue学习--跨域问题解决
1.如果请求的URL地址中存在/dev-api字段,则直接进行切换目标服务器地址,也就是target指向的地址,举例:
URL请求:http//localhost:8000/dev-api/user/info,地址中存在dev-api字段,则需要切换服务器地址
修改后的请求地址:http//localhost:8081/mock/dev-api/user/login
2.我们需要请求的实际地址为:http//localhost:8081/mock/user/login,
通过pathRewrite属性设定: ‘^/dev-api’ : ‘’,
这时会把请求地址http//localhost:8081/mock/dev-api/user/login内的/dev-api替换为空字符串,最终请求的地址为:http//localhost:8081/mock/user/login

最终解决Vue的跨域问题

相关文章:

  • 2021-11-06
  • 2021-05-01
  • 2021-04-08
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-31
  • 2021-09-17
  • 2022-01-14
  • 2021-05-18
相关资源
相似解决方案