ajax 跨域cookie问题 (CORS support in a browser)

介绍

http://software.dzhuvinov.com/cors-filter-tips.html

封装好的js

https://github.com/dkastner/jquery.iecors

请求头部分的设置参考

HTML5 跨域提交和上传实现 及 nginx $_SERVER[‘HTTP_X_FILENAME’]解决

请求头时不可以直接设置:

Access-Control-Allow-Headers: *

不然会冲突下面配置

$.ajax({
	url : 'http://xxxxxx',
	xhrFields : {
		withCredentials : true
	},
	crossDomain : true,
	success : function(result) {
		alert('ajax调用成功' + result)
	}
});

withCredentials 开启时,跨与登录的cookie才会记录到域名中.

如a 域名调用 b域名。b域名中才会记录对应的cookie,否则即使在chrome中看到成功返回cookie,直接访问b时,会不存在。

且withCredentials 只支持html5特性的浏览器 ie8需要参考上面的处理

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注