CRUD: DELETE вызывается до вызова пользователя - PullRequest
0 голосов
/ 21 июня 2019

Когда я открываю приложение localhost: 4200, уже есть старый запрос на удаление. Мой новый запрос на удаление также не работает при нажатии кнопки удаления (404 (не найдено)), хотя он действительно удаляет элемент после ручного ввода URL-адреса в строку поиска.

Предварительно загруженный запрос на удаление

404 (не найдено) Ошибка при использовании кнопки

//rug-list.component.ts
...
    deleteRug(rug: Rug): void {
        if (confirm(`Are you sure you want to delete rug: ${rug.name}?`)) {
            this.rugService.deleteRug(rug.id).subscribe( // "id" is not the mongo-assigned variable "_id", but rather a custom var of the rug object
                res => { console.log('Deleted'); }
            );
        }
    }
}
//rug.service.ts
...
deleteRug(id: number): Observable<{}> { 
        return this.http.delete<Rug>(`${this.uri}/${id}/delete`);
    }
//rug.route.js
...
rugRoutes.route('/:id/delete', { useFindAndModify: false }).get(function (req, res) {
    let id = req.params.id;
    Rug.findOneAndDelete({ "id": id }, function (err) {
        if (err) { return res.json(err); }
        else { res.json('Successfully deleted'); }
    });
});

1 Ответ

0 голосов
/ 25 июня 2019

см. Ответ: GET http://localhost:4000/rugs 500 (Внутренняя ошибка сервера)

Измените this.http.delete на this.http.get, соответствуя .get () в rug.route.js

//rug.service.ts
...
deleteRug(id: number): Observable<{}> { 
        return this.http.get<Rug>(`${this.uri}/${id}/delete`);
    }
...