如何制作角度2“https”请求

时间:2016-10-31 06:47:51

标签: http angular https server client

我项目的服务器端使用nodejs。 我使用https.createServer(选项,函数(req,res){....})并且它可以工作。

我的项目的客户端使用角度2.我知道角度2有http但我想使角度2使用https调用连接服务器端。我知道解决方案是有用的 this.http .get(https://url)。但是,我不知道如何在我的代码中使用它。

export class HttpDataService<T> extends DataService<T> {
    protected _url: UrlType;


    constructor(protected http: Http) {
        super();
        this.fetch();
    }

   this.http.get(url)
            .map( (res) => {
                return res.json();
            } )
            .catch( (error: any) => {
                console.log(error);
                this._fetching = false;
                return Observable.throw(error);
            } )
            .subscribe( data => {
                this.setData(data);
                this._fetching = false;

                this._count++;
                if ( (this._count <   
                      this._url.count) ||
                     (this._url.count ==                                  
                      **strong text**UrlTypeCount.Infinite) ) 
                    this.fetch();
            } );


}

1 个答案:

答案 0 :(得分:0)

您应该将代码放在一个函数中。你的班级机构现在正在调用一些东西,但它不应该。例如:

export class HttpDataService<T> extends DataService<T> {
    protected _url: UrlType;


    constructor(protected http: Http) {
        super();
        this.fetch();
    }

    getStuff() {
       this.http.get(url)
            .map( (res) => {
                return res.json();
            } )
            .catch( (error: any) => {
                console.log(error);
                this._fetching = false;
                return Observable.throw(error);
            } )
            .subscribe( data => {
                this.setData(data);
                this._fetching = false;

                this._count++;
                if ( (this._count <   
                      this._url.count) ||
                     (this._url.count ==                                  
                      **strong text**UrlTypeCount.Infinite) ) 
                    this.fetch();
            } );
      }
}