前后端分离开发开发,不可能随时部署到服务器上进行测试。为了前后可以高效绑定接口,肯定是再本地直接调用是最快捷的了。那么本地路径和接口地址再浏览器就会有同源策略限制,这时如果使用的非src的不受限制之外的方式,如ajax等,就会产生跨域。那么博智互联教大家使用CORS来解决跨域问题。同源策略同源策略/SOP是一种约定,它是浏览器最核心也最基本的安全功能,由Netscape公司1995年引入浏览器,假如没有同源策略,浏览器将非常容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制以下几种行为:(a)Cookie、LocalStorage 和 IndexDB 无法读取(b)DOM 和 Js对象无法获得(c)AJAX 请求不能发送浏览器采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本。就是说浏览器禁止的是来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。JAVA配置创建CorsConfig JAVA类 实现 WebMvcConfigurer。然后对参数进行设置。@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowCredentials(true)
.allowedMethods("GET", "POST")
.maxAge(7200);
}
}addMapping //设置允许跨域的路径allowedOriginPatterns //设置允许跨域请求的域名allowCredentials //是否允许证书 不再默认开启allowedMethods //设置允许的方法maxAge //跨域允许时间前端可直接使用ajax请求测试是否成功可以跨域请求$.ajax({
url: "请求地址",
type: 'POST',
dataType: 'json',
data: {参数名: 参数值},
success: function (data){
}
})希望对大家有所帮助!欢迎大家加入博智互联大家庭,一起不断提升自身。