import { Injectable } from '@angular/core';
import { Http, Response,Headers,RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/Rx';
import{Router} from'@angular/router';
import 'rxjs/add/operator/map';
@Injectable()
export class ManageJobDeleteService{
constructor(private http: Http,private router:Router){};
DeleteRequestToAPI(post_jobs_id:string){
let body = JSON.stringify({post_jobs_id:post_jobs_id});
let headers = new Headers({ 'Content-Type': 'application/json'});
let options = new RequestOptions({ headers: headers });
console.log(body);
console.log(options);
return this.http.delete('http://127.0.0.1:8000/api/employer/post_jobs/',body,options)//HERE I AM GETTING ERROR
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: Response){
let body = res.json();
console.log(body);
return body || [];
}
private handleError (error: any) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
ERREUR:
1-2 arguments attendus, mais 3.ts (2554).
Veuillez me dire comment passer à la fois le corps et les options à l'aide de la demande de suppression http dans Angular 6.
J'ai trouvé la meilleure approche pour moi en utilisant searchParams.
let url = new URL( this.baseUrl + '/*******');
url.searchParams.append('llC', llC.toString());
url.searchParams.append('ulC', ulC.toString());
return this.http.delete(url.toString());
et côté serveur, vous pouvez obtenir
let data = req.query;
data['ulC'] ;
data['llC'] ;
Cette méthode fonctionne aussi bien pour supprimer que pour obtenir des options!