【发布时间】:2021-01-19 19:47:12
【问题描述】:
不知何故删除(和放置/修补)路由永远不会起作用。它们在使用邮递员进行测试时工作正常,但从我的角度应用程序调用时却没有。
//calling delete route from angular application. this does not work
DeleteDay(){
this.http.delete("http://192.168.1.102:3000/api/5f7a391013cbd02ea001fb82");
}
//delete route from server
router.delete('/:postId', async (req, res) => {
try{
const removedPost = await Dag.findByIdAndDelete({ _id: req.params.postId });
res.json(removedPost);
} catch(err) {
res.json({ message: err });
}
});
//使用邮递员调用删除。这确实有效 screen from postman
【问题讨论】:
-
当我使用 python 调用删除路由时,如果工作正常。
-
您的浏览器控制台/网络选项卡说什么?因为我打赌你忘了实现
options处理程序。与 curl、postman、python 或任何其他非浏览器不同,浏览器首先发送一个 OPTIONS 请求,以查看甚至允许哪个动词。 (这称为preflight request)如果没有响应,他们甚至不会发送 POST/PUT/DELETE 请求。 -
您可能需要返回 CORS 标头(如果您使用的是 express,请参阅 expressjs.com/en/resources/middleware/cors.html)
标签: node.js angular typescript express postman