How to add a body to Angular HttpClient delete function

前端 未结 3 1157
孤独总比滥情好
孤独总比滥情好 2021-01-01 08:46

Our project is migrating to Angular4, and use @angular/common/http Httpclient as the default network tool. But I found there are no body p

相关标签:
3条回答
  • 2021-01-01 09:03

    I also get this problem and my solution is creating a new HttpRequest of delete method, then clone this request, reset its body with your data.

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

    The clone() is required, because the body still can not be directly set in the new HttpRequest().

    0 讨论(0)
  • 2021-01-01 09:05

    You may use a universal request method on the HttpClient class instead. This method has the body in options. https://angular.io/api/common/http/HttpClient#members

    e.g this.http.request('delete', 'url', { body: ... })

    0 讨论(0)
  • 2021-01-01 09:14
    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);
                       });
        });
    

    by using httpOptions, you can set header and body in it. please refer this https://angular.io/tutorial/toh-pt6#delete-a-hero

    0 讨论(0)
提交回复
热议问题