здравствуйте, я получаю следующую ошибку при выполнении http-запроса на удаление

#angular #http #mean-stack

#angular #http #имеется в виду-стек

Вопрос:

У меня ошибка:

core.js: 6185 ОШИБКА HttpErrorResponse {заголовки: HttpHeaders, статус: 404, statusText: «Не найден», url: «http://localhost:2000/delete-post /[object Object]», ok: false, …}

Код:

 public deletePost( _id: string) { return this.webService.delete(delete-post/${_id}); }
  

Комментарии:

1. Обычно вы отправляете только «простой» параметр для удаления регистра базы данных, проверьте свой вызов api, должно быть похоже (вы даете нам слабую подсказку): httpClient.delete('delete-post/" data.id) или httpClient.get('deletepost/' data.id) или httpClient.post('delete-post',data) . Смотрите, что delete и get передают свойство объекта в URL и публикуют весь объект, но не в URL

2. public deletePost(_id: string) { верните this.WebService. удалить ( delete-post/${_id} ); }

Ответ №1:

Вы помещаете весь объект в URL

У вас должно быть что-то вроде

 httpClient.delete(`http://localhost:2000/delete-post/${item}`)  

Когда вам действительно нужно

 httpClient.delete(`http://localhost:2000/delete-post/${item.id}`)  

По сути, вы хотите связать с этой строкой URL id элемента, а не всего элемента

Комментарии:

1. спасибо, Богдан, за ваше время. вот мой код: public deletePost(_id: string) { верните this.WebService. удалить ( delete-post/${_id} ); }

2. Дело в том, что вы обычно получаете [object Object] , когда используете весь объект целиком. Пожалуйста, сделайте console.log() и убедитесь, что это _id является string , а не весь объект

3. я получаю идентификатор как целостный объект

4. Тогда ваш метод должен выглядеть следующим образом public deletePost(data: any) { return this.webService.delete(delete-post/${data.id});}