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

参考

posted @ 2022-04-03 00:54  G-哥  阅读(241)  评论(1编辑  收藏  举报