从'http:// localhost'访问'...'的XMLHttpRequest已被CORS策略阻止[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我正在尝试使用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>

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

从'http://127.0.0.1:8080/activiti-rest/service/form/form-data?taskId=21159'访问'http://localhost'的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头。

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

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

但它仍然无法解决该错误。我该怎么解决这个问题? 任何回复都会非常感谢! 非常感谢你!

javascript api tomcat cors activiti
1个回答
0
投票

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

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

另请注意:

  • 正如@Quentin在评论中指出的那样,你使用的是一个5年前的jQuery版本并且危险地过时了。
  • 您在ajax请求中使用的Access-Control-Allow-Origin头是响应头,而不是请求头,因此它应该由响应中的服务器返回。您不能在请求中使用响应标头。
© www.soinside.com 2019 - 2024. All rights reserved.