Api angular2 http.get()不';t向服务器发送请求

Api angular2 http.get()不';t向服务器发送请求,api,http,angular,get,angular2-services,Api,Http,Angular,Get,Angular2 Services,我正在尝试从angular应用程序对本地主机上的api执行get请求。但是由于某些原因,http客户端似乎没有执行get请求 我可以在我的api服务器上看到没有发出get请求。这就是导致错误的原因。api工作得很好,我试着做了一个curl,得到了预期的结果 异常:未捕获(承诺中):TypeError:无法读取未定义的属性“subscribe” api.service import { Injectable } from '@angular/core'; import { Headers, Htt

我正在尝试从angular应用程序对本地主机上的api执行get请求。但是由于某些原因,http客户端似乎没有执行get请求

我可以在我的api服务器上看到没有发出get请求。这就是导致错误的原因。api工作得很好,我试着做了一个curl,得到了预期的结果

异常:未捕获(承诺中):TypeError:无法读取未定义的属性“subscribe”

api.service

import { Injectable } from '@angular/core';
import { Headers, Http, Response, URLSearchParams, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Rx';

@Injectable()
export class ApiService {
    headers: Headers = new Headers({
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    });

    api_url: string = 'http://localhost:5001';

    constructor(private http: Http) { }

    private getJson(response: Response) {
        return response.json().results;
    }

    checkForError(response: Response): Response {
        if (response.status >= 200 && response.status < 300) {
            return response;
        } else {
            var error = new Error(response.statusText);
            error['response'] = response;
            Observable.throw(error);
        }
    }

    get(path: string, params: URLSearchParams): Observable<any> {
        return this.http
            .get(`${this.api_url}${path}/`, { headers: this.headers })
            .map(this.checkForError)
            .catch(err => Observable.throw(err))
            .map(this.getJson);
    }
连接控制台

也许您应该尝试回溯(或向前追踪)问题:

首先:

 this.http.get('/my/hardcoded/url').subscribe();

问题可能出现在标题、插入的url或任何地方。

checkForError
中,在
Observable.throw(error)
之前应该有一个
返回
map(getJson)
应该是
map(this.getJson)
。在调用
subscribe()
之前,可观察对象不做任何事情。由于
subscribe()
失败,因此无法发出请求。请从开发人员的“网络”选项卡中提供一些屏幕截图tools@G不管怎样,get请求应该启动控制台错误跟踪,以跟踪问题。
 this.http.get('/my/hardcoded/url').subscribe();