微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax跨域处理仅限本地调试远程

解决 has been blocked by CORS policy问题

原因

就是浏览器 同源策略 问题,或者叫 跨域问题 。
常见于用Chrome调试脚本的时候,需要加载的脚本和location不同源,或者跨域调用接口api。

错误呈现

POST方式请求接口

Access to XMLHttpRequest at 'https://api.xxx.com/v1/link/create' from origin 'https://www.xxx.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

解决方

如果是get请求可以使用jsonp,但post请求需要服务端进行设置。
平时在本地进行调试,则可以修改Chrome浏览器配置,创建一个用于调试的快捷方式,添加 启动参数,修改如下:

  1. 找到浏览器主程序所在位置→右键→发送到→桌面快捷方式
  2. 桌面快捷方式→右键→属性→快捷方式选项卡→目标-->>>在最后面追加 参数 --user-data-dir="c:\ChromeDebug" --test-type --disable-web-security

参考

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐