2016-10-31 2 views
0

machen Die Serverseite meines Projektes benutzt nodejs. Ich benutze https.createServer (Option, Funktion (req, res) {....}) und es funktioniert.wie man angular 2 "https" Anfrage

Die Client-Seite meines Projekts verwendet Winkel 2. Ich weiß, Winkel 2 hat http, aber ich möchte Winkel 2 verwenden https Aufruf Server-Seite zu verbinden. Ich weiß, dass eine Lösung this.http .get (https://url) ist. Ich weiß jedoch nicht, wie ich es in meinem Code verwenden soll.

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

Sieht aus wie 'this.http.get (...)' ist außerhalb des Konstruktors. Sie können in TypeScript keine beliebigen Ausdrücke und Anweisungen außerhalb von Methoden verwenden. Was ist das Problem mit deinem Code? Was funktioniert nicht wie erwartet? –

+0

Mein Code kann mit http funktionieren. Allerdings möchte ich https verwenden und ich weiß nicht wie man es in angular2 !! einsetzt @ GünterZöchbauer – justinlin

+0

Also was funktioniert nicht? Erhalten Sie eine Fehlermeldung? –

Antwort

0

Sie sollten den Code in eine Funktion einfügen. Dein Klassenkörper ruft jetzt etwas an, sollte es aber nicht. Zum Beispiel:

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(); 
      }); 
     } 
}