一。什么是跨域。
跨域是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制,只有同源的脚本才会执行。
协议,域名,端口三者都相同叫同源,不同就叫非同源。
发送的请求url的协议,域名,端口三者任何一样与当前页面地址不同就是跨域。一般出现在前后端分离开发的架构中。
二。解决方案(java)
《1》如果是springboot应用:增加一个全局配置就可以了
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class CORSConfig { @Bean public WebMvcConfigurer corsConfigurer(){ return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedHeaders("*") .allowedMethods("*") .maxAge(86400L) .allowedOrigins("*"); } }; } }
《2》使用注解解决:对于spring应用或者springboot应用,一般使用注解都是可以解决跨域问题