Ajax请求是否会出现跨域问题,取决于Ajax请求的contentType类型,这里简单试了几个contentType类型:

当满足跨域要求(协议、ip、端口至少有一个不一致)时,如果当前端Ajax请求的contentType类型为text/plain或application/x-www-form-urlencoded或multipart/form-data等时,不会发生跨域问题;而当前端contentType为application/json或text/html等时,会发生跨域问题。

全局解决跨域

只需要在springboot项目里面添加一个配置类,里面的代码是
这个就是在springmvc的配置类里面重写了 跨域的方法


@Configuration
public class CorsConfigure extends WebMvcConfigurationSupport {
   
	
	/* * 这里主要为了解决跨域问题,所以重写addCorsMappings方法 */
	@Override
	protected void addCorsMappings(CorsRegistry registry) {
   
        registry.addMapping("/**")
                .allowedOrigins("*") 
                .allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .exposedHeaders("access-control-allow-headers",  
                        "access-control-allow-methods",  
                        "access-control-allow-origin",  
                        "access-control-max-age",  
                        "X-Frame-Options") 
                .allowCredentials(false).maxAge(3600);
		super.addCorsMappings(registry);
	}
}

以后重新启动项目的时候,跨域的问题就解决了,这个有跨域的问题,前端会报403错误

allowedOrigins:是允许访问的列表(origins=“网址”)

maxAge:准备响应前的 缓存持续的 最大时间

局部解决跨域

以上的是在整个项目里面解决了跨域,现在我们就想解决一个controller层,可以使用注解