【发布时间】:2016-12-13 08:57:50
【问题描述】:
我想向 AngularJS UI 返回异常消息。 作为后端,我使用 ASP.NET Core Web Api 控制器:
[Route("api/cars/{carNumber}")]
public string Get(string carNumber)
{
var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumber(carNumber);
if (jsonHttpResponse.HasError)
{
var message = new HttpResponseMessage(HttpStatusCode.InternalServerError)
{
Content = new StringContent(jsonHttpResponse.ErrorMessage)
};
throw new HttpResponseException(message);
}
return jsonHttpResponse.Content;
}
但在 Angular 方面,失败承诺只看到 status 和 statusText "Internal server error":
如何将错误消息传递给 Core Web Api 的 Angular $http 失败承诺?
【问题讨论】:
-
您在此代码中返回
HttpStatusCode.InternalServerError,即HTTP 500。相反,您应该找出jsonHttpResponse中的错误并将message设置为该值。
标签: angularjs error-handling asp.net-core-mvc angular-promise