2016-09-21 3 views
2

Может ли Angular2 отправить тело json через метод http delete?Угловая 2 Http удалить отправить json в теле

Я стараюсь это, и это говорит об ошибке

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 => { }, 
    () => { } 
    ); 

ответ

9

Согласно RequestOptionsArgs interface и Http delete аргумент функции, я думаю, что вам нужно для отправки запроса на удаление, как указано ниже:

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

Это работа. Спасибо: D –

+0

Хотя это может работать в угловом режиме, у вас могут возникнуть проблемы со стороны сервера: https://stackoverflow.com/a/25237188/3806701 –

+0

в Angular 5, RequestOptions DEPRECATED, см. Https: // угловой .io/API/HTTP/RequestOptions –

Смежные вопросы