2015-03-31 11 views
11

W AngularJS do wysyłania żądania korzystam z wbudowanej usługi $ http.

Co należy użyć do wysłania żądania do serwera w Angular? Nie mogę znaleźć żadnego dokumentu, który obejmuje temat.

+0

Nadal można użyć $ http. Czy to nie działa? – sms

+0

Używam AngularJS2 nie 1.x. Czy masz przykład, jak korzystać z $ http? – Evgeniy

+0

Czy używasz alfy dla Angular 2? Jeśli tak, to nie ma jeszcze usługi http. Pracują nad jego zaprojektowaniem tutaj: https://github.com/jeffbcross/http-design – rob

Odpowiedz

4

EDIT: Jest api preview dla nowej usługi HTTP na Kątowymi 2 website teraz

Istnieje podstawowa http service kątowej 2 Obecnie jednak jego bardzo minimalistyczny teraz. To oprogramowanie jest w wersji alfa i najprawdopodobniej ulegnie zmianie, więc możesz po prostu chcieć użyć fetch API, zaimplementować własne XMLHttpRequest lub użyć biblioteki takiej jak jQuery. Obecnie apular api Angular 2 jest zasadniczo identyczny z fetch API. Biorąc pod uwagę, że fetch jest mniej prawdopodobne, aby zmienić, proponuję po prostu za pomocą tego.

Jeśli chcesz korzystać z usługi kątowej 2, here jest przykładem ...

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

Dzięki. Dobre wieści. – Evgeniy

+0

Każdy pomysł, dlaczego to już nie działa? 'map' nie jest członkiem' EventEmitter' –

+0

Sprawdź sekcję "Breaking Changes" w linku dodanym w mojej edycji. Zasadniczo wystarczy wywołać .toRx() przed wywołaniem .map teraz –