我正在尝试使用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-来源的标头出现在请求的资源上。
在这里搜索许多帖子后,我添加了:
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
但是它仍然无法解决该错误。我该怎么解决?
任何答复将不胜感激!
非常感谢你!
答案 0 :(得分:0)
如果您正在Tomcat上运行Activiti框架,则可以通过过滤器在Tomcat中配置CORS支持。您需要将此过滤器添加到web.xml文件,并对其进行配置以符合您的要求。
查看Tomcat的文档:
http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#CORS_Filter
还请注意:
Access-Control-Allow-Origin
标头是响应标头,而不是请求标头,因此服务器应在响应中将其返回。您不能在请求中使用响应头。