发布网友 发布时间:2022-05-02 05:29
共2个回答
懂视网 时间:2022-05-02 09:50
header(‘Access-Control-Allow-Origin:*‘);
是HTML5新增的一项标准功能,因此 IE10以下版本的浏览器是不支持的,因此,如果要求兼容IE9或更低版本的ie浏览器,会导致使用此种方式的跨域请求以及传递Cookie
的计划夭折,最终还得回归JSONP,目前主流 的处理方式是使用JSONP,易于实现,兼容性好,可查的资料也很多。
跨域解决后,如果还要操作Cookie
,还得继续补增响应头:
header(‘Access-Control-Allow-Credentials:true‘);
需要将 XMLHttpRequest 对象的 withCredentials
属性设置为 true
,JQuery1.5.1+ 就开始提供了相应的字段,使用方式如下:
$.ajax({ url:"B.abc.com", xhrFields:{ withCredentials:true }, crossDomain:true });
设置 withCredentials
为 true
的请求中会包含 A.abc.com端的所有Cookie
,这些Cookie
仍然遵循同源策略,所以,你只能访问其中和 abc.com/B同根域的Cookie,而无法访问其他域的Cookie。
Access-Control-Allow-Origin
实则是html5 Cross-Origin Resource Sharing实现的最重要的一点参数配置。
Cross-Origin Resource Sharing,跨域资源共享,简称 CORS,可以作为一种跨域请求以及响应的解决方案。
禁用chrome本地安全策略,不用配服务器环境也能发起ajax请求:
chrome 桌面快捷键 右键属性 在快捷方式标签下的“目标”框中加入 --disable-web-security
,重启浏览器即可
(转)HTML5开发中Access-Control-Allow-Origin跨域问题
标签:开发 兼容 ring java javascrip for 跨域问题 cookie json
热心网友 时间:2022-05-02 06:58
一种是快速中转站,一种是第三方快速公司。前者可能性更大。