当前位置:网站首页 > Vue.js开发 > 正文

前端跨域问题怎么解决(前端跨域怎么解决vue)



本文主要介绍借助解决Vue前后端跨域问题的几种方式

说到ajax请求,就不得不说下xhr(XMLHttpRequest)了,它可以说是鼻祖,但是实际开发中,我们不会直接使用它,而是进行二次封装或者使用成熟的第三方封装,比如JQuery,axios

本文将会使用axios进行请求

既然说到封装了,那就不得不提到axios了,它和JQuery相比,它支持请求拦截器和响应拦截器,并且体积很小,大约是JQuery的四分之一体积,一般在vue项目里面,基本都是使用axios请求

下载axios

想要使用axios,必须先下载它,打开终端,输入

 
  

这个库非常的小,安装很快

在这里插入图片描述

引入axios

下载完毕之后,就可以引用了

 
  

在这里插入图片描述

基本工作做完后,就可以开发前后端代码,模拟跨域场景了

后端接口

后端起一个服务,端口为9090,有一个get请求,先访问下,因为是get请求,可以直接在浏览器访问,所以说接口是没问题的

在这里插入图片描述
在这里插入图片描述

前端请求

 
  

所谓的跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。这里的域指的是这样的一个概念:我们认为若协议 + 域名 + 端口号均相同,那么就是同域。

上面的例子就算因为前后端通信的端口不一致造成的跨域问题

常用的解决问题的手段有以下三种

我们一一举例说明

cors

这种方式是我工作中处理跨域用到最多也是最简单的一种方式,直接通过注解解决跨域问题

cors解决跨域,一般不用于前端做任何事,而是后端或者服务器去操作,其实就是在服务器里面返回相应的时候加几个响应头,某种程度上来说,cors解决跨域才是真正意义上的解决跨域,但是在开发中,这个响应头不是随便配置的,如果随意配置,就会造成一个问题就算任何人都能找服务器要数据,存在一些安全风险

注解解决跨域

在这里插入图片描述

全局配置跨域

如果使用注解,那么我们需要在每一个controller或者方法上都要加上注解才能解决跨域的问题

那么有没有一种一劳永逸的办法呢?

当然有,我们可以使用全局配置跨域,代码如下:

 
  

以上就是通过cors解决跨域的两种方式

JSONP

除了使用cors解决跨域,还可以使用JSONP,它解决跨域的方式其实挺巧妙的,它借助了script标签li的src属性,在引入外部资源的时候不受同源策略限制的特点办到的,虽然JSONP比较巧妙,但是真正开发中用到的微乎其微,因为想要实现JSONP解决跨域,不仅仅要前端人员要用到特殊写法,后端人员也得配置前端才能实现,并且只能解决get请求跨域问题,相对来说很鸡肋

这里就得吐槽一句了,虽然开发用的少,但是面试就喜欢问你JSONP,就看你知道不知道这个巧

代理

到此这篇前端跨域问题怎么解决(前端跨域怎么解决vue)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 打印机共享修复工具V2.1(打印机共享修复工具 知乎)2026-05-15 21:45:10
  • redhat enterprise 下载(redhat6.10下载)2026-05-15 21:45:10
  • ubuntu 源文件(ubuntu20.04 源)2026-05-15 21:45:10
  • ubuntu源代码在哪(ubuntu20.04源)2026-05-15 21:45:10
  • js是什么意思啊(js是什么意思啊英文)2026-05-15 21:45:10
  • jsjsj是什么意思(js是啥意思是什么)2026-05-15 21:45:10
  • js深拷贝和浅拷贝的方法(js深拷贝和浅拷贝的方法区别)2026-05-15 21:45:10
  • vue中常用的生命周期钩子函数(vue生命周期函数详解)2026-05-15 21:45:10
  • vue2和vue3区别diff(vue2和vue3区别代码有什么区别)2026-05-15 21:45:10
  • vue安装router命令(vue中router的配置)2026-05-15 21:45:10
  • 全屏图片