java Ajax跨域请求COOKIE无法带上的解决办法
Posted 为乐而来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Ajax跨域请求COOKIE无法带上的解决办法相关的知识,希望对你有一定的参考价值。
1.web.xml加入以下节点,,一定放在第一个filter
<!--目录下所有文件可以跨域Begin--> <filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2.ajax添加参数
原生ajax请求方式:
var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); xhr.withCredentials = true; //支持跨域发送cookies xhr.send();
jquery的ajax的post方法请求:
$.ajax({
type: "POST", url: "http://xxx.com/api/test", dataType: ‘jsonp‘, xhrFields: { withCredentials: true }, crossDomain: true,
success:function(){
},
error:function(){
}
})
这二个参数都要加:
xhrFields: {withCredentials: true}, crossDomain: true,
另外的一个问题:
js跨域调用,Iframe子页跨域调父页的js方法
在子页和父页设置document.domain = ‘abc.com‘;//本地就用locahost
以上是关于java Ajax跨域请求COOKIE无法带上的解决办法的主要内容,如果未能解决你的问题,请参考以下文章