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实现本地购物车功能

    Vue实现本地购物车功能

    这篇文章主要为大家详细介绍了Vue实现本地购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • vue如何对一个数据过滤出想要的item

    vue如何对一个数据过滤出想要的item

    这篇文章主要介绍了vue如何对一个数据过滤出想要的item问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue.js中v-model指令的用法介绍

    Vue.js中v-model指令的用法介绍

    这篇文章介绍了Vue.js中v-model指令的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • vue实现盒子内拖动方块移动的示例代码

    vue实现盒子内拖动方块移动的示例代码

    这篇文章主要给大家介绍了如何通过vue实现盒子内拖动方块移动,文章通过代码示例讲解的非常详细,具有一定的参考价值,感兴趣的小伙伴可以参考阅读本文
    2023-08-08
  • 使用vue+element ui实现走马灯切换预览表格数据

    使用vue+element ui实现走马灯切换预览表格数据

    这次做项目的时候遇到需要切换预览表格数据的需求,所以下面这篇文章主要给大家介绍了关于使用vue+element ui实现走马灯切换预览表格数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Vue中全局变量的定义和使用

    Vue中全局变量的定义和使用

    这篇文章主要介绍了vue中全局变量的定义和使用,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • vue3插件json2ts的具体使用

    vue3插件json2ts的具体使用

    本文主要介绍了vue3插件json2ts的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Vue使用watch监听数组或对象

    Vue使用watch监听数组或对象

    这篇文章介绍了Vue使用watch监听数组或对象的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • vue移动端使用appClound拉起支付宝支付的实现方法

    vue移动端使用appClound拉起支付宝支付的实现方法

    这篇文章主要介绍了vue移动端使用appClound拉起支付宝支付的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • vue使用rules实现表单字段验证

    vue使用rules实现表单字段验证

    这篇文章主要为大家详细介绍了vue使用rules实现表单字段验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论