我是NodeJS的初学者,我提出了一个http删除请求,但它不起作用



删除功能代码

deleteScreen:(screenId)=>{
return new Promise((resolve,reject)=>{
db.get().collection(collection.SCREEN_COLLECTION).removeOne({_id:ObjectID(screenId)}).then((response)=>{
console.log(response)
resolve(response)
})
})
}

http删除路由是

router.delete('/delete-screen/:id',services.deleteScreen)

html代码是

<a href="/theater/delete-screen/{{this._id}}" class="btn btn-danger" onclick="return confirm('Are you sure want to delete {{screen.ScreenName}} ?')">Delete</a>

问题是您的路由器处理程序实际上接收requestrequestnext,所以在编写时。

router.delete('/delete-screen/:id',services.deleteScreen)

这意味着函数services.deleteScreen将以以下方式被调用services.deleteScreen(req, res, next);因此,您需要更改函数的签名。

router.delete('/delete-screen/:id', (req, res) => {
services.deleteScreen(req.params.id)
.then(() => res.end())
.catch((e) => {
res.status = 500; // means internal error;
res.end();
});
})

相关内容

最新更新