龙空技术网

前后端分离后,如何解决跨域问题?

Java讲坛杨工 273

前言:

现时你们对“前后端分离如何实现跨域”都比较注意,咱们都需要分析一些“前后端分离如何实现跨域”的相关内容。那么小编在网络上搜集了一些关于“前后端分离如何实现跨域””的相关内容,希望朋友们能喜欢,大家快快来学习一下吧!

很多小伙伴知道如何解决跨域问题,但是却说不清楚跨域是个什么,到底是怎么产生的。所以,回答跨域解决方案之前,先了解下跨域本身。

1、什么是跨域?

请求的资源只要域名(或 ip 地址)、端口号中任意一个不同,这个资源都可以认为是跨域资源。当用Ajax请求的时候就产生了跨域访问。

比如:

-->端口号不同

与,属于跨域

-->域名 (或 ip 地址) 不同

与,也属于跨域,

相反,在域名(或 ip 地址)相同,端口号都相同的资源,可以看做是同域资源。

2、前后端分离项目跨域实例

比如,VUE项目在,spring boot项目在,当VUE项目发起axios请求spring boot项目时,就会出现跨域的问题。

3、解决跨域在controller类加入注解@CrossOrigin即可。实现WebMvcConfigurer接口来实现跨域支持,重写addCorsMapping()方法

@Configurationpublic class CorsConfiguration implements WebMvcConfigurer {	@Override	public void addCorsMappings(CorsRegistry registry) {		registry.addMapping("/**")		.allowedOriginPatterns(new String[]{"*"})		.allowedMethods(new String[]{"*"})		.allowCredentials(true)		.allowedHeaders(new String[]{"*"});	}}

标签: #前后端分离如何实现跨域 #前后端分离跨域问题解决方案