跨域cors的实现,以及chrome修改自身的安全策略的特殊方案

先说说跨域,cordova的页面资源项目在手机上,提交请求到服务器自然就属于跨域的范畴。

根据网上的方法,通过在服务器响应页添加header Access-Control-Allow-Origin:* 便能顺利解决跨域问题

PHP:

<?php header('Access-Control-Allow-Origin:*'); ?>

JAVA:

response.addHeader("Access-Control-Allow-Origin","*");

Cross-Origin Resource Sharing,跨域资源共享,简称 CORS,可以作为一种跨域请求以及响应的解决方案。

虚拟环境中已能顺利获取到正确的跨域反馈

但是,chrome 依然会得到错误称 Access-Control-Allow-Origin 已设置但不匹配所以依然 not allowed

解决办法:

禁用chrome本地安全策略,不用配服务器环境也能发起ajax请求:

==修改,48版本后的chrome需要再加上--user-data-dir参数

windows

chrome 桌面快捷键 右键属性 在快捷方式标签下的“目标”框中加入 --disable-web-security --user-data-dir,重启浏览器即可

mac

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir

如果上面一句的不行就用这句:

open -a "Google Chrome" --args --disable-web-security --user-data-dir

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏