web-dev-qa-db-ja.com

Angular 6でのhttp delete()の使用方法

myService.ts

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

エラー:

1-2の引数が必要ですが、3.ts(2554)を取得しました。

Angular 6.でhttp削除リクエストを使用して本体とオプションの両方を渡す方法を教えてください。

7
lpd

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

そしてサーバー側ではあなたが得ることができます

   let data = req.query;
   data['ulC'] ;
   data['llC'] ;

このメソッドは、削除だけでなくオプションの取得にも使用できます。

0
DHRUV GAJWA