Angular 无法从中的Web api获取响应

Angular 无法从中的Web api获取响应,angular,asp.net-web-api2,Angular,Asp.net Web Api2,以下是我如何从WebAPI返回数据: [HttpGet] [Route("ProcessHistory")] public HttpResponseMessage ProcessHistory() { HttpResponseMessage response = new HttpResponseMessage(); try { IProcessManagement ProcessManagement = serviceFactory.CreateProc

以下是我如何从WebAPI返回数据:

[HttpGet]
[Route("ProcessHistory")]
public HttpResponseMessage ProcessHistory()
{
    HttpResponseMessage response = new HttpResponseMessage();
    try
    {

        IProcessManagement ProcessManagement = serviceFactory.CreateProcessManagement();
        List<Process> listProcess = ProcessManagement.Get().ToList();
        response = Request.CreateResponse<IEnumerable<Process>>(HttpStatusCode.OK, listProcess);
    }
    catch (Exception ex)
    {
        response = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
    }
    return response;
}
正在调用Web api的Angular服务:

getProcessScheduleStatus(apiUrl: string):Observable<ProcessScheduleStatus[]>{
  return this._httpClient.get(apiUrl, this.httpOptions).map((result: ProcessScheduleStatus[]) => {
    alert('web api execued');
    if (result != null && result != undefined) {
      return result;
    }
    else {
      return result;
    }
  });
}
getProcessScheduleStatus(apiUrl:string):可观察{
返回此._httpClient.get(apirl,this.httpOptions).map((结果:ProcessScheduleStatus[])=>{
警报(“执行web api”);
if(结果!=null&&result!=未定义){
返回结果;
}
否则{
返回结果;
}
});
}
以下是浏览器XHR结果:

当Angular服务命中WebAPI时,但当WebAPI返回响应时,它直接进入组件错误处理程序

如何正确地从响应中读取数据

chrome XHR中的失败请求标头:


那么错误是什么?既然您没有在服务中处理它,为什么它不转到组件中的错误处理程序呢?当
返回结果时,为什么
if
无论发生了什么?如果你能分享来自chrome inspect的标题信息和响应选项卡信息,那么你会得到更多信息info@jonrsharpe,它给出错误为(未知url)的Http失败响应:0未知错误。那么您尝试了什么调试?您向哪个URL发出请求?您确定
this.ApiUrl
ConstAPIUrls.ProcessScheduleStatus
都已设置并且在直接连接时有意义吗?@Aji,如屏幕中的第一个请求被执行,而secord请求抛出错误。
getProcessScheduleStatus(apiUrl: string):Observable<ProcessScheduleStatus[]>{
  return this._httpClient.get(apiUrl, this.httpOptions).map((result: ProcessScheduleStatus[]) => {
    alert('web api execued');
    if (result != null && result != undefined) {
      return result;
    }
    else {
      return result;
    }
  });
}