2017-04-26 53 views
0

我正在使用java和angularjs运行我的代码。服务器端口http://localhost:8080 托管当我打http://localhost:8080/data,我得到以下错误CORS访问路由URL时出错

的XMLHttpRequest无法加载 http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=? 请求的 资源上没有“Access-Control-Allow-Origin”标题。 'http://localhost:8080'因此不允许 访问。

$routeProvider 
     .when('/', { 
      templateUrl: 'views/home.html', 
      controller: 'MainCtrl' 
     }) 

     .when('/data', { 
      templateUrl: 'http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?' 
     }) 

我新的角度。任何人都可以帮助我在我的代码中做错了什么。我在谷歌搜索并找到一些建议,以在服务器端或浏览器端启用标题。我正在寻找,如果我能从我的代码本身做的事情。我知道在这个论坛中有很多类似的问题,但无法找到正确的解决方案。如果任何人都可以通过提供的任何链接,而没有给帮我我downvote

+0

你必须处理cors头服务器端 – Karim

+0

@Karim你的意思是在java服务器代码? – user4324324

+0

是的在java代码 – Karim

回答

1

将这个在你的头
HttpServletResponse resp = (HttpServletResponse) servletResponse; resp.addHeader("Access-Control-Allow-Origin","*"); resp.addHeader("Access-Control-Allow-Methods","GET,POST"); resp.addHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept");

0

如果您在服务器端使用Spring,你可以配置你的后端,以允许外国血统访问服务器(在你的情况flickr)

如果你是JEE配置,你应该找到像下面的另一个XML配置示例。

一个例子,你可以在春天guiedes找到下

https://spring.io/blog/2015/06/08/cors-support-in-spring-framework

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addCorsMappings(CorsRegistry registry) { 
     registry.addMapping("/api/**") 
      .allowedOrigins("http://domain2.com") 
      .allowedMethods("PUT", "DELETE") 
      .allowedHeaders("header1", "header2", "header3") 
      .exposedHeaders("header1", "header2") 
      .allowCredentials(false).maxAge(3600); 
    } 
} 

在xml配置的情况下:

<mvc:cors> 
    <mvc:mapping path="/**" /> 
</mvc:cors> 

<mvc:cors> 

    <mvc:mapping path="/api/**" 
     allowed-origins="http://domain1.com, http://domain2.com" 
     allowed-methods="GET, PUT" 
     allowed-headers="header1, header2, header3" 
     exposed-headers="header1, header2" allow-credentials="false" 
     max-age="123" /> 

    <mvc:mapping path="/resources/**" 
     allowed-origins="http://domain1.com" /> 

</mvc:cors> 

请阅读本指南以获取更多信息。