Java教程

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

本文主要是介绍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

参考

  • 解决 has been blocked by CORS policy问题
这篇关于ajax跨域处理(仅限本地调试远程)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!