Angularjs-请求的资源上不存在“Access-Control-Allow-Origin”标头。
Posted
技术标签:
【中文标题】Angularjs-请求的资源上不存在“Access-Control-Allow-Origin”标头。【英文标题】:Angularjs-No 'Access-Control-Allow-Origin' header is present on the requested resource. 【发布时间】:2017-02-26 13:40:36 【问题描述】:我正在使用 angularjs 来获取 http 获取请求。我想显示来自远程服务器的一些信息.. 它在任何 http 测试服务器上都可以正常工作。但其他链接无效。
【问题讨论】:
这是解决服务器端的问题,通常是当您调用与前端应用程序不在同一个域中的服务器时。如果您也在管理服务器端,那么您必须在服务器响应上设置正确的 HTTP 标头(请参阅developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)。 非常感谢.. acutally 我已经尝试了几乎所有的方法 .. 不起作用...根据文档,我添加了所需的代码。但它仍然无法正常工作。同样的问题 "No 'Access-Control-Allow-Origin' header is present on the requested resource"的可能重复 其他回答这个问题的帖子:***.com/q/24134117/466738***.com/q/29547003/466738 【参考方案1】:Spring 框架提供了类似 Spring Security 的CorsFilter you can use for filter-based frameworks。将以下内容添加到您的 @Configuration
类之一以对其进行配置。
@Bean
public FilterRegistrationBean corsFilter()
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("http://localhost:3000");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(0);
return bean;
http://localhost:3000
是您要允许的客户端。
【讨论】:
以上是关于Angularjs-请求的资源上不存在“Access-Control-Allow-Origin”标头。的主要内容,如果未能解决你的问题,请参考以下文章
请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“http://localhost”
执行重定向时浏览器控制台出错 请求的资源上不存在“Access-Control-Allow-Origin”标头
django中的“请求的资源上不存在'Access-Control-Allow-Origin'标头”
如何解决请求的资源上不存在“Access-Control-Allow-Origin”标头