当前位置: 首页 > 知识库问答 >
问题:

从源站访问位于“…”的XMLHttpRequest”http://localhost'已被CORS策略阻止[重复]

陆飞鸿
2023-03-14


我试图用javascript演示一个api调用,以获得Json结果。以下是我所做的:

<!DOCTYPE html>
<html>
    <head>
    </head>
        <script src="https://canvasjs.com/assets/script/jquery-1.11.1.min.js"></script>
    <body>
        <div class="render-form">
            <script>
                $(document).ready(function() {
                    $.ajax({
                        type: 'GET',
                        headers:{    
                            'Accept': 'application/json',
                            'Content-Type': 'application/json',
                            'Access-Control-Allow-Origin': '*' 
                        },
                        url: 'http://127.0.0.1:8080/activiti-rest/service/form/form-data?taskId=21159',
                        dataType: 'json',
                        success: function (data) {
                            alert(JSON.stringify(data));
                        }
                    });
                })
            </script>
        </div>
    </body>
</html>

但是当我运行它时,我得到了一个错误:

CORS策略阻止从http://127.0.0.1:8080/activiti-rest/service/form/form-data?taskId=21159http://localhost访问XMLHttpRequest:对预试请求的响应不通过权限改造检查:请求的资源上不存在访问控制允许起源标头。

在这里搜索了很多帖子后,我补充道:

headers:{    
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Access-Control-Allow-Origin': '*' 
},

但是它仍然不能处理这个错误。我该怎么解决这个问题?
任何回复将非常感谢!
非常感谢!

共有1个答案

鲁华茂
2023-03-14

如果您在Tomcat上运行Activiti框架,那么可以通过过滤器在Tomcat中配置CORS支持。您需要将此筛选器添加到web.xml文件中,并将其配置为符合您的要求。

查看Tomcat的文档:
http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#CORS_Filter

另请注意:

  • 正如@Quentin在评论中指出的,你使用的jQuery版本已经有5年的历史了,而且已经过时了。
  • 您在ajax请求中使用的Access-Control-允许-起源标头是响应标头,而不是请求标头,因此它应该由服务器在响应中返回。不能在请求中使用响应头。
 类似资料:
  • 我有一个。NET核心应用程序,它有一个REST API被一个角客户机使用,但遇到了CORS问题。 但仍在客户端(运行在本地端口4200上)中获取错误: CORS策略阻止从来源“HTTP://localhost:4200”访问位于“HTTP://localhost/myapi/api/table”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。

  • 交叉起源没有发生,被CORS策略阻止。 我使用的是Windows系统。 在文件中: 在文件中: 我在浏览器控制台中遇到此错误: CORS策略阻止了从http://localhost:1111/api/v1/employees/createhttp://localhost:4200对XMLHttpRequest的访问:对预飞行请求的响应没有通过权限改造检查:请求的资源上没有访问控制允许起源标头。<-

  • 请求标头如下所示: 临时头显示为access-control-request-headers:content-type access-control-request-method:POST origin:http://localhost:4200 referer:http://localhost:4200/login user-agent:mozilla/5.0(Macintosh;Intel M

  • CORS策略已阻止CORS从源站对X处XMLHttpRequest的访问:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。 嗨,我正在努力解决我的问题与CORS拒绝我的Vue组件与外部API与axios的交互,因为它返回此错误。我尝试了使用Barryvdh的Cors头支持和制作中间件和自定义路由。这根本行不通。Barryvdh回购中README. md中提到的一切都已经完成,不幸的

  • 在解析SiteKey后,我可以从re-captcha中获得响应。 我用我的响应和密钥向google recaptcha api做了一个手动post请求,它确实返回了我需要的结果,成功状态为true/false。 接下来,我尝试执行http,但它开始返回以下错误: 我尝试向我的angular添加一个代理conf,但是它不起作用。我在PHP上做了同样的应用程序,它工作了。我能知道有什么解决办法吗? 以

  • Ionic 4项目HTTP请求我收到一个错误 通过“https://u****测试”访问XMLHttpRequest。f****t.co。in/getMccList“来自源”http://localhost'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。 我已经添加插件科尔多瓦-插件白名单