Update for Angualar 4. 3+
Now we can use HttpClient instead of Http
Manual here
Sample code
const myheader = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded') let body = new HttpParams(); body = body.set('username', USERNAME); body = body.set('password', PASSWORD); http .post('/api', body, { headers: myheader), }) .subscribe();
Outdated
Or you can do this:
let urlSearchParams = new URLSearchParams(); urlSearchParams.append('username', username); urlSearchParams.append('password', password); let body = urlSearchParams.toString()
October 2017 update
Starting with angular4 + , we do not need headers or .toString() . Instead, you can do as in the example below
import { URLSearchParams } from '@angular/http';
POST / PUT Method
let urlSearchParams = new URLSearchParams(); urlSearchParams.append('username', username); urlSearchParams.append('password', password); this.http.post('/api', urlSearchParams).subscribe( data => { alert('ok'); }, error => { console.log(JSON.stringify(error.json())); } )
GET / DELETE method
let urlSearchParams = new URLSearchParams(); urlSearchParams.append('username', username); urlSearchParams.append('password', password); this.http.get('/api', { search: urlSearchParams }).subscribe( data => { alert('ok'); }, error => { console.log(JSON.stringify(error.json())); } )
For application/json JSON application/json Content-Type
this.http.post('/api', JSON.stringify({ username: username, password: password, })).subscribe( data => { alert('ok'); }, error => { console.log(JSON.stringify(error.json())); } )