Angular alternative $http

Eugene picture Eugene · Mar 31, 2015 · Viewed 11.2k times · Source

In AngularJS for sending a request I use the builtin $http service.

What shall I use for sending a request to a server in Angular? I can't find any doc that covers the subject.

Answer

Charlie Martin picture Charlie Martin · Jun 22, 2015

EDIT: There is an api preview for the new http service on the Angular 2 website now

There is a basic http service in Angular 2 currently, but its very minimalist right now. This software is in alpha and is very likely to change, so you may just want to use the fetch API, implement your own XMLHttpRequest, or use a library like jQuery instead. Currently, the Angular 2 http api is essentially identical to the fetch API. Given that fetch is far less likely to change, I suggest just using that.

If you want to use the Angular 2 service, here is an example...

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