【发布时间】:2019-09-07 05:41:38
【问题描述】:
我正在尝试使用 get 路由删除一些数据和通过图像 ID 连接到该数据的图像(我尝试了删除路由,但没有成功)。我的数据现在被删除,但我在 chrome 控制台中的错误警报下得到 200 ok 响应(最后附上图片)。我不知道为什么所以我在这里发布问题。
我的设置如下: 前端:角 后端:Node 和 Express DB:Mongo db 和 mongoose
使用 multer 和 grid fs 用于图像存储和表单数据解析。
非常感谢。
后端路由
bkstwebsiteRoutes.get('/deleteSaleItem', (req, res, err) => {
console.log(
'sale data id ' + req.query.saleDataId
);
if (saleItem.findById(req.query.saleDataId)) {
saleItem.findByIdAndDelete(req.query.saleDataId, () => {
res.send(
'sale Item Data pertaining to ID ' +
req.query.saleDataId +
' was found and deleted'
);
});
} else if (!saleItem.findById(req.query.saleDataId)) {
res.send(
'sale Item Data pertaining to ID ' +
req.query.saleDataId +
' does not exist'
);
} else {
res.send('unknown server error: ' + err);
}
});
// route to delete image
bkstwebsiteRoutes.get('/deleteSaleImage', (req, res, err) => {
if (gfs.files.findOne({ filename: req.query.imageId })) {
gfs.files.deleteOne({ filename: req.query.imageId }, () => {
res.send(
'the image of the sale item with its own id of ' +
req.query.imageId +
' was found and successfully deleted'
);
});
} else if (!gfs.files.findOne({ filename: req.query.imageId })) {
res.send(
'the image of the sale item with id with its own id of ' +
req.query.imageId +
' does not exist'
);
} else {
res.send('unknown server error: ' + err);
}
});
Angular 服务代码
deleteSaleItem(saleDataId, imageId) {
const saleDataCallString =
this.backendUri + '/deleteSaleItem?saleDataId=' + saleDataId;
const saleImageCallString =
this.backendUri + '/deleteSaleImage?imageId=' + imageId;
this.http.get(saleDataCallString).subscribe(event => {
console.log(event);
});
this.http.get(saleImageCallString).subscribe(event => {
console.log(event);
});
}
【问题讨论】: