我有一个非常基本的(GET-)请求获取某种数据(case-list.service.ts):
fetchCase(caseId: string) {
return this.httpClient.get('http://localhost:54355/api/case/' + caseId);
}
我需要那种URL,因为我的后端在另一个端口上。 但是,我收到错误,请求没有执行:
错误错误:需要资源 at viewWrappedDebugError(core.es5.js:8422) at callWithDebugContext(core.es5.js:13477) at 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() at 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)
但是,当我用本地网址(例如'/api/case/' + caseId
)替换该网址时,它会按预期工作。
localhost-URL不是问题。我尝试输入http://www.google.de/something,它抛出了与localhost地址相同的错误。
为什么这不起作用的任何想法? 任何帮助表示赞赏:)
@Update: 我订阅了组件控制器中的observable: 病例list.component.ts:
this.caseListService.fetchCase(this.caseId).subscribe( (res) => {
console.log(res);
// comment in when backend is available
// this.case = res;
});
答案 0 :(得分:0)
private http: HttpClient;
fetchCase(caseId: string) {
this.http.get('http://localhost:54355/api/case/' + caseId).subscribe(data => {
// Read the result field from the JSON response.get response
caseId = data['rows'];
});
return caseId;
}
试试这个。我认为订阅是必要的,以提出获取请求。因为没有什么可以保留回报。
答案 1 :(得分:0)
好的,在我的情况下,我是一个错误配置的HTTP_INTERCEPTOR。那里没有添加外部URL。
感谢大家的帮助:)