#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 и публикуют весь объект, но не в URL2. 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});}