文档介绍:SpringMVC的跨域解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
来源:
什么是跨域
为 public JsonpAdvice() {
super("callback");
}
}
***@ControllerAdvice("")指定作用的包名 supper("callback")指定的是url中callback: ?callback=successCallback
注意: 我们还可以重写AbstractJsonpResponseBodyAdvice中的feforeBodyWriteInternal方法: 做到实现url携带callback就返回jsonp格式,没有就返回正常格式
controller中
controller中的代码正常编写就OK,不用修改任何东西。 !
jquery ajax
注意:必须使用jsonp的方式提交请求!
$.ajax({
type : "get",
async:false,
dataType:'jsonp',
url: '',
data: $("#loginForm").serialize(),
crossDomain: true,
jsonpCallback:"successCallback",
xhrFields: {
withCredentials: true
},
success : function(data){
},
error:function(data){
("登录出错");
$.("/");
}
});
使用CORS(跨域资源共享)解决跨域问题
有关cors的介绍可以去详细看一下,这里就不作重复了: CORS详解 跨资源共享CORS详解
主要配置
Access-Control-Allow-Origin: // 设置允许请求的域名,多个域名以逗号分隔
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS // 设置允许请求的