Angular 无法从中的Web api获取响应
以下是我如何从WebAPI返回数据: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
[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;
}
});
}