Java 解决跨域问题
什么是跨越
1出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
即如果请求的协议,请求的ip,请求的端口不一致就是跨越请求
解决方式一:使用 $.ajax 请求
使用 $.ajax 请求,设置 dataType:”jsonp” 属性实现跨越请求
解决方式二:使用 $.getJson() 异步请求方式
getJSON方法是可以实现跨域请求的,在用该方法实现跨域请求时,在传递参数上应该注意在url后拼接一个jsoncallback=?,jQuery会自动替换?为正确的回调函数名,我们就可以不用单独定义回调函数了
解决方式三: 使用 springMVC中的@CrossOrigin 注解
只需要在该controller 类或请求的方法上添加 @CorssOrigin 即可
解决的方式四: 在拦截器中设置响应头