我正在使用angular $http调用一个跨域REST web-service(Spring),以下是代码。
$http({
url: ' http://xxx.yyy.zzz:8080/..../sponsors',
method: 'GET',
headers: { 'Token' : 'abc' }
}).success(function(sponsors){
$scope.sponsorList = sponsors;
}).error(function(sponsors){
alert('failed to get sponsors')
});
我遇到了以下错误:
"响应预检请求未通过访问控制检查:所请求的资源上不存在'Access-Control-Allow-Origin'头。"
Restful Web服务部署在Tomcat 8上。
我在tomcat/conf/web.xml中添加了CORS过滤器,如下所示。
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
尽管我收到了相同的错误信息,但有人能帮助我修复吗?我在客户端是否遗漏了任何标头?在服务器端还需要进行其他操作吗?提前感谢。
web.xml
中进行的添加没有生效的可能性?(你可以通过删除其内容来强制清理webapps
目录、重新部署应用程序并重新启动 Tomcat 来解决这个问题) - Jossef Harush Kadouri