HttpClient:无法从外部URL

时间:2017-11-29 12:30:36

标签: angular http

我有一个非常基本的(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;
    });

2 个答案:

答案 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。

感谢大家的帮助:)