CRUD:在用户调用之前调用 DELETE

CRUD: DELETE is called before user calls

打开 localhost:4200 应用程序后,已经有一个旧的删除请求。我的新删除请求在按下删除按钮(404(未找到))时也不起作用,尽管它 确实 在搜索栏中手动输入 URL 后删除了该项目.

Pre-loaded delete request

404 (Not Found) Error using button

//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'); }
    });
});

查看答案:

将this.http.delete改为this.http.get,匹配rug.route.js

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