Используйте этот код. это работает нормально для меня. Измените параметры в соответствии с вашими требованиями.
public http: Http
в конструкторе
getDataPostAuth(url, body) {
return new Promise((resolve, reject) => {
let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
let options = new RequestOptions({ headers: headers });
options.headers.set('Content-Type', 'application/json');
options.headers.set('Authorization', 'Bearer ' + localStorage.getItem("token"));
this.http.post(this.MainURL + url, body, options)
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
});
}
Для URLSEARCHPARAM
import { Http, Headers, URLSearchParams, Request, RequestOptions, RequestMethod } from '@angular/http';
let headers = new Headers();
headers.append('HeaderKey', HeaderValue);
headers.append('HeaderKey',HeaderValue);
let params: URLSearchParams = new URLSearchParams();
params.set('paramKey', paramValue);
params.set('paramKey', paramValue);
let options = new RequestOptions({
method: RequestMethod.Post,
url: this.global.yourAPIurl+ extended URL+"parameters you want to pass",
search: params,
body: this.yourBody,
headers: headers
});
this.http.request(new Request(options))
.map(res => res.json())
.subscribe(data => {
}, err => {
console.log("ERROR!: ", err);
});