我有一个.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 App中进行的错误处理,我假定我应该在API中接收到从catch返回的错误响应,但我却收到了这个CORS错误和未知响应。
这里是与邮递员完全相同的电话,以及随后的回复:
答案 0 :(得分:1)
您必须从后端返回有效的JSON响应。再次验证您的回复。