最近遇到这么一个问题,在IE浏览器中某个跨域请求返回的结果老是失败。经测试只有IE10及以下的版本域名访问时(直接用ip访问没问题)才会返回失败,高版本IE及其他浏览器一切正常。
把处理失败和处理成功这两个请求的记录进行对比发现处理失败是因为浏览器未向服务器发送cookie记录,问了度娘才知道在跨域请求中IE10及以下的版本会拦截cookie。

问题展示

解决办法

在服务器设置p3p响应头:

Response.AddHeader("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
PS:如果你的请求地址有下滑线(http://www.xxx.com/xxx_xxx_xxx),必须把"_"改为"-"才能设置