如何解决Axios Delete 在 React App 中不工作,但在 PostMan/Insomnia 中工作
当我通过邮递员发送请求时,Axios DELETE 可以工作,但在我的 React 应用程序中却没有。我正在传递 MongoDB 分配条目的 _id。我正在启动 ObjectId 但它仍然不起作用。我还仔细检查了我是否使用了正确的路线。
在我的应用程序中,我有调用 SaveBook 的点击函数。那部分我感觉还可以。如果我需要分享其他内容,请告诉我。
前端AuthActions.js中的SaveBook
- alert: "Dependency Status - {{ $labels.serviceName }} unhealthy "
expr: 100*avg_over_time(dependency_status{}[30m]) < 90
for: 1m
labels:
severity: warning
action: page
pager: pagerDutyService
annotations:
summary: "Dependency Unhealthy - Service: {{ $labels.serviceName }}"
information: "Dependency Status availability rate over 30m for service "{{ $labels.serviceName }} at {{ $value }}%"
users.js 中服务端的删除操作
export const saveBook = ({books,user,book,_id}) => {
return function () {
console.log(`This is id ${JSON.stringify(_id)}`)
const savedindex = books.indexOf(book);
if (savedindex >= 0) {
console.log(savedindex)
axios
.delete("/api/users/wishlist",{_id})
} else {
console.log(savedindex)
// console.log(`Adding ${book.book.title} to faves...`);
axios
.post("/api/users/dashboard",{book,user})
.then(console.log("success"))
.catch (err =>
json(err)
);
}
}
};
解决方法
我意识到 req.body 不是 Delete 方法的正确选择,并使用 url params/req.params 发送 _id。这很好用。
在 authActions.js 中修复了这一行
axios
.delete("/api/users/wishlist/" + _id,)
在 Users.js 中修复了这几行
router.delete('/wishlist/:id',(req,res) => {
const db = mongoUtil.getDb();
db.db("mern-auth-2").collection("savedbooks")
// .deleteOne({_id:ObjectId(req.body._id)})
.deleteOne({_id:ObjectId(req.params.id)})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。