2015-03-31 9 views
11

In AngularJS zum Senden einer Anfrage verwende ich den eingebauten $ http-Dienst.

Was soll ich verwenden, um eine Anfrage an einen Server in Angular zu senden? Ich kann kein Dokument finden, das das Thema abdeckt.

+0

Sie können immer noch $ http verwenden. Funktioniert es nicht? – sms

+0

Ich benutze AngularJS2 nicht 1.x. Hast du ein Beispiel wie man $ http benutzt? – Evgeniy

+0

Verwenden Sie Alpha für Angular 2? Wenn ja, hat es noch keinen http-Service. Sie arbeiten daran, es hier zu entwerfen: https://github.com/jeffbcross/http-design – rob

Antwort

4

EDIT: Es gibt einen api preview für den neuen HTTP-Dienst auf dem Angular 2 website jetzt

Es ist eine grundlegende http service in Angular 2 zur Zeit, aber es ist sehr minimalistisch im Augenblick. Diese Software ist in Alpha und wird sich sehr wahrscheinlich ändern. Sie können also einfach fetch API verwenden, Ihre eigene XMLHttpRequest implementieren oder stattdessen eine Bibliothek wie jQuery verwenden. Momentan ist der Angular 2 http api im Wesentlichen identisch mit dem fetch API. Angesichts der Tatsache, dass fetch ist viel weniger wahrscheinlich zu ändern, schlage ich vor, nur das zu verwenden.

Wenn Sie den Angular 2 Service nutzen möchten, here ein Beispiel ...

ist
import {bootstrap, Component, View, NgFor, Inject} from 'angular2/angular2'; 
import {Http, httpInjectables} from 'angular2/http'; 

@Component({selector: 'http-app'}) 
@View({ 
    directives: [NgFor], 
    template: ` 
    <h1>people</h1> 
    <ul class="people"> 
     <li *ng-for="#person of people"> 
     hello, {{person.name}} 
     </li> 
    </ul> 
    ` 
}) 
export class HttpCmp { 
    people: Object; 
    constructor(http: Http) { 
    http.get('./people.json').toRx().map(res => res.json()).subscribe(people => this.people = people); 
    } 
} 
+0

Danke. Gute Nachrichten. – Evgeniy

+0

Irgendeine Idee, warum das nicht mehr funktioniert? 'map' ist kein Mitglied von' EventEmitter' –

+0

Überprüfen Sie den Abschnitt "Breaking Changes" in dem Link, den ich in meiner Bearbeitung hinzugefügt habe. Im Grunde müssen Sie nur .toRx() aufrufen, bevor Sie jetzt .map aufrufen –