2016-09-21 1 views
2

Könnte Angular2 JSON Körper über HTTP-Methode löschen?Angular 2 Http löschen senden JSON in Körper

ich es versuchen und es die Fehler

ORIGINAL EXCEPTION: options.search.clone is not a function 

service.ts

deletetag(tagid: number): Observable<any> { 

    let body = JSON.stringify(
     { 
      "token": "test", 
      "content": { 
       "tagId": tagid 
      } 
     } 
    ); 

    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this.http.delete("http://localhost:8080/backend/tag", body, options) 
     .map(res => this.extractData(res)) 
     .catch(this.handleError); 
} 

component.ts

this.tagService.deletetag(1) 
    .subscribe(
     data => { }, 
     error => { }, 
    () => { } 
    ); 

Antwort

9

Wie pro RequestOptionsArgs interface und Http delete Funktionsargument, ich glaube, Sie brauchen um eine Löschanforderung wie folgt zu senden:

deletetag(tagid: number): Observable<any> { 

    let body = JSON.stringify(
     { 
     "token": "test", 
     "content": { 
     "tagId": tagid 
     } 
    } 
); 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ 
    headers: headers, 
    body : body 
    }); 

    return this.http.delete("http://localhost:8080/backend/tag", options) 
     .map(res => this.extractData(res)) 
     .catch(this.handleError); 
} 
+0

Es ist Arbeit. Vielen Dank: D –

+0

Obwohl dies in eckigen funktioniert, haben Sie möglicherweise Probleme mit der Server-Seite: https://stackoverflow.com/a/25237188/3806701 –

+0

in Angular 5, die RequestOptions ist veraltet, siehe https: // eckig .io/api/http/Anforderungsoptionen –