vue解决跨域问题的方法

 更新时间:2024年12月30日 10:22:41   作者:JKQingNing  
本文主要介绍了前后端分离项目中的跨域问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

现在的项目,大部分都是前后端分离的,前后端最终也会分开部署,前端部署在服务器 192.168.150.200 上,端口 80,后端部署在 192.168.150.100上,端口 8080

我们打开浏览器直接访问前端工程,访问url:http://192.168.150.200/login.html

然后在该页面发起请求到服务端,而服务端所在地址不再是localhost,而是服务器的IP地址192.168.150.100,假设访问接口地址为:http://192.168.150.100:8080/login

那此时就存在跨域操作了,因为我们是在 http://192.168.150.200/login.html 这个页面上访问了http://192.168.150.100:8080/login 接口

区分跨域的维度:

  • 协议

  • IP/域名

  • 端口

只要上述的三个维度有任何一个维度不同,那就是跨域操作

举例:

http://192.168.150.200/login.html ----------> https://192.168.150.200/login [协议不同,跨域]

http://192.168.150.200/login.html ----------> http://192.168.150.100/login [IP不同,跨域]

http://192.168.150.200/login.html ----------> http://192.168.150.200:8080/login [端口不同,跨域]

http://192.168.150.200/login.html ----------> http://192.168.150.200/login [不跨域]

现在我们已经了解了什么是跨域,现在我们探究,如何去解决。

无论是前端还是后端都可以解决跨域的问题,但是我个人认为,在前端解决更加方便和简单,因此我们现在看怎么在前端解决跨域的问题。

首先在我们的vue前端工程中找到main.js文件,通常在App.vue同级。

我们加入这两行代码:

Vue.prototype.$axios = axios
axios.defaults.baseURL='/api'

这样,我们在从前端往后端发送请求时,路径上都会默认添加/api这一级路径,当然你可以换成任何你喜欢的单词。

然后找到vue.config.js,通常在你项目的根目录之下。

我们加入以下几行代码:

其中port是你本机vue项目的端口,一般情况下文件中原先就存在,可自行修改成其他端口。

 proxy: {
      '/api': {
        target: 'http://localhost:8090', // 后端服务地址
        changeOrigin: true,
        pathRewrite: {
          '^/api': '' // 路径重写,将请求中的 '/api' 前缀去掉
        }
      }
    }

然后我们随便写两行代码测试一下,先把后端代码启动起来:

然后我们再把前端代码启动:

然后我们访问:http://localhost:8091/

可以看到:

因为是做测试例子,所以只有一个简易的界面,现在我们输入信息,点击登录

显示登录成功,这时,我们在查看控制台

ok,不仅后端接收到了请求,前端也接收到了后端的返回信息。

到此这篇关于vue解决跨域问题的方法的文章就介绍到这了,更多相关vue解决跨域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于vue实现动态Tab标签页功能

    基于vue实现动态Tab标签页功能

    这篇文章主要介绍了如何基于vue实现动态Tab标签页功能,文中通过代码示例和图文结合的方式给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-09-09
  • Vue3封装组件完整实例(带回调事件)

    Vue3封装组件完整实例(带回调事件)

    Vue.js已成为现代Web开发中不可或缺的技术之一,虽然Vue.js的一些基础概念和语法比较易学,但深入挖掘Vue.js的核心概念和功能需要更多的实践,下面这篇文章主要给大家介绍了关于Vue3封装组件(带回调事件)的相关资料,需要的朋友可以参考下
    2023-06-06
  • vue项目首屏加载时间优化实战

    vue项目首屏加载时间优化实战

    单页面应用的一个问题就是首页加载东西过多,加载时间过长。特别在移动端,单页面应用的首屏加载优化更是绕不开的话题,这篇文章主要介绍了vue项目首屏加载时间优化实战,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Vue.extend构造器的详解

    Vue.extend构造器的详解

    这篇文章主要介绍了Vue.extend构造器的详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • vue中如何使用math.js

    vue中如何使用math.js

    这篇文章主要介绍了vue中如何使用math.js问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vue前端HbuliderEslint实时校验自动修复设置

    vue前端HbuliderEslint实时校验自动修复设置

    这篇文章主要为大家介绍了vue前端中Hbulider中Eslint实时校验自动修复设置操作过程,有需要的朋友可以借鉴参考下希望能够有所帮助
    2021-10-10
  • Vue跳转页面的几种常用方法总结

    Vue跳转页面的几种常用方法总结

    在Vue.js中,页面跳转是构建单页面应用(SPA)的基本操作之一,本文将介绍Vue中实现页面跳转的几种方法,并通过实例代码帮助理解每种方法的用法,需要的朋友可以参考下
    2024-09-09
  • vue异步组件使用及加载失败异常处理

    vue异步组件使用及加载失败异常处理

    在构建大型单页应用时,组件的按需加载和延迟加载对于性能优化至关重要,本文主要介绍了vue异步组件使用及加载失败异常处理,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • vue实现移动端图片上传功能

    vue实现移动端图片上传功能

    这篇文章主要为大家详细介绍了vue实现移动端图片上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • vue3:setup的两个注意点详解

    vue3:setup的两个注意点详解

    这篇文章主要介绍了vue3.0中setup的两个注意点,本文通过两种用法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10

最新评论