【发布时间】:2016-10-09 22:10:30
【问题描述】:
我正在使用 AngularJS 构建一个客户端应用程序,该应用程序向使用 ASP.NET 构建的 RESTful Web API 发出请求。我遇到了“没有 Access-Control-Allow-Origin Header is Present”错误,我知道为了修复它,您需要在您的 Web API 中允许 CORS,我已经这样做了。
然而,我不明白为什么我只在 AngularJS 应用程序中遇到这个问题。我在 ASP.NET MVC 中构建了许多客户端应用程序,它们使用来自 ASP.NET Web API 的服务,但我从未遇到过这个问题。有人能解释一下为什么会这样吗?
【问题讨论】:
-
CORS 问题与 Angular 无关。尝试使用纯 jQuery 对禁用 CORS 的 API 进行 ajax 调用,您将收到该错误。
-
这不是唯一的。当您从不同域获取数据时,此安全性将启动并阻止请求。您是否在与 web api 相同的域上运行 angularjs 应用程序?
-
它们都运行在不同的本地主机地址上。
-
是它不工作的问题吗?还是你让它工作了?
-
我确实让它工作了,但不是以我想要的方式。我必须添加 [EnableCors(" * ", " * "," * ")] ,它允许来自所有来源的请求到我的控制器类,而不是 [EnableCors("localhost:48340", " * "," * ")]因为它不起作用。
标签: angularjs asp.net-web-api cors