我完全迷住了。我是AngularJS的新手,我正尝试对我的jersey服务器api进行电话呼叫,但我没有运气。它可以使用curl或Advanced Rest客户端(Chrome浏览器加载项)运行。但是,当我尝试使用我的angularjs应用程序击打其余部分时,我纠正了以下内容。
“跨源请求被阻止:同源策略禁止读取位于http:// localhost:8080 / JerseyDemos / rest / employees的远程资源。(原因:缺少CORS标头'Access-Control-Allow-Origin')。”
客户:我的angularjs代码段
$scope.login = function() {
This lets me connect to my server on a different domain
$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode('username' + ':' + 'password');
$http({method: 'GET', url: 'http://localhost:8080/JerseyDemos/rest/employees'}).
success(function(data) {
console.log(data)
}).
Run Code Online (Sandbox Code Playgroud)
服务器:我正在使用球衣框架
这是我的CORS筛选器...
import java.io.IOException;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
public class CorsResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext request,
ContainerResponseContext response) throws IOException {
response.getHeaders().add("Access-Control-Allow-Origin", "*");
response.getHeaders().add("Access-Control-Allow-Headers",
"origin, content-type, accept, …Run Code Online (Sandbox Code Playgroud)