【发布时间】:2017-11-29 12:30:35
【问题描述】:
我有一个非常基本的(GET-)请求来获取某种数据(case-list.service.ts):
fetchCase(caseId: string) {
return this.httpClient.get('http://localhost:54355/api/case/' + caseId);
}
我需要那种 URL,因为我的后端在另一个端口上。 但是,我收到一个错误,请求没有被执行:
ERROR 错误:需要资源 在 viewWrappedDebugError (core.es5.js:8422) 在 callWithDebugContext (core.es5.js:13477) 在 Object.debugCheckAndUpdateView [as checkAndUpdateView] (core.es5.js:13007) 在 ViewRef_.webpackJsonp.../../../core/@angular/core.es5.js.ViewRef_.detectChanges (core.es5.js:10174) 在 core.es5.js:4812 在 Array.forEach () 在 ApplicationRef_.webpackJsonp.../../../core/@angular/core.es5.js.ApplicationRef_.tick (core.es5.js:4812) 在 core.es5.js:4684 在 ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:392) 在 Object.onInvoke (core.es5.js:3890)
但是,当我将该 URL 替换为本地 URL(例如 '/api/case/' + caseId)时,它会按预期工作。
localhost-URL 不是问题。我尝试输入http://www.google.de/something,它抛出了与本地主机地址相同的错误。
任何想法为什么这不起作用? 任何帮助表示赞赏:)
@更新: 我在我的组件控制器中订阅了那个 observable: case-list.component.ts:
this.caseListService.fetchCase(this.caseId).subscribe( (res) => {
console.log(res);
// comment in when backend is available
// this.case = res;
});
【问题讨论】:
-
当你直接去这个网址
'http://localhost:54355/api/case/' + caseId会发生什么?? -
它不可用,因为我的后端还不能工作。尽管如此,它应该给我一个 404 而不会完全崩溃。它与 Http 完美配合(不幸的是现在已弃用)
-
this.caseListService.fetchCase(this.caseId).subscribe( res => { console.log(res); // comment in when backend is available // this.case = res; }, error => { console.log(error); } );如果您尝试这样做,console.log 中的错误块会被打印出来吗?? -
不 - 如果我添加错误函数,没有任何变化。它甚至没有到达这部分,因为它已经在 this.http.get() 行中失败了。