Ons project migreert naar Angular4en gebruikt @angular/common/http Httpclient
als de standaard netwerktool. Maar ik ontdekte dat er geen body
params zijn in de verwijderfunctie. Hoe voeg ik de body toe om de functie te verwijderen? Bedankt.
Antwoord 1, autoriteit 100%
U kunt in plaats daarvan een universele request
-methode gebruiken voor de HttpClient-klasse. Deze methode heeft de body in options.
https://angular.io/api/common/http/HttpClient#members
bijv
this.http.request('delete', 'url', { body: ... })
Antwoord 2, autoriteit 27%
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' }), body: your body data
};
return new Promise(resolve => {
this.httpClient.delete(URL, httpOptions)
.subscribe(res => {
resolve(res);
}, err => {
resolve(err);
});
});
door httpOptions te gebruiken, kunt u koptekst en hoofdtekst erin instellen.
raadpleeg deze https://angular.io/tutorial/toh-pt6#delete- een held
Antwoord 3, autoriteit 2%
Ik krijg dit probleem ook en mijn oplossing is het creëren van een nieuwe HttpRequest
of delete-methode, kloon dan dit verzoek, reset de body met jouw gegevens.
let req = new HttpRequest('DELETE', 'url');
let newReq = req.clone({body: [10]});
this.http.request(newReq).subscribe((res) => {
console.log(res);
}, (err) => {
console.log(err);
});
Antwoord 4
import { HttpClient, HttpParams } from '@angular/common/http';
constructor(private http: HttpClient) { }
deleteItem(item: any): Observable<any> {
let params = new HttpParams();
params = params.append('itemId', item.itemId);
return this.http.delete<any>(`url`, { params });
}