2017-04-26 51 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> 

請閱讀本指南以獲取更多信息。