【发布时间】:2019-03-21 08:25:46
【问题描述】:
我有一个 .NET Core API,可以在多种情况下捕获错误。其中之一是调用没有返回数据。当没有数据返回时,会收到一个 200ok 错误消息,指出没有返回数据。
在我的 API 中,我在启动时配置了 CORS:
app.UseCors(builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
我已经在我的 MVC 之前注册了它:
services.AddCors();
services.AddMvc();
当后端 API 上的请求成功时,这很有效,但如果我发现错误......就像没有从服务器返回数据时,我会在控制台中收到这个:
Client Side Error: Object { headers: {…}, status: 0, statusText: "Unknown Error", url: null, ok: false, name: "HttpErrorResponse", message: "Http failure response for (unknown url): 0 Unknown Error", error: error }
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:52706/api/peoplecategories. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).[Learn More]
通过我在 Angular 应用程序中执行的错误处理,我假设我应该接收到从我的 API 中的 catch 返回的错误响应,但是我得到了这个 CORS 错误和未知响应。
这是 Postman 中完全相同的调用,以及随后的响应:
【问题讨论】:
标签: angular api asp.net-core cors