Javascript 特定URL导致axios nuxt模块不运行回调
因此,我在我的nuxt.js页面上设置了两个名为“确认”和“删除”的按钮。单击每个按钮时,将分别运行confirm()和delete()。这两个函数的代码几乎相同,唯一的区别是URL不同。当运行delete()时,它会使用axios执行GET请求,回调会完美运行,并执行我希望它执行的操作。但是,在运行confirm()时,它会执行请求,但不会运行回调 我想也许API服务器没有响应。但是,当我检查日志时,实际上正在发送响应Javascript 特定URL导致axios nuxt模块不运行回调,javascript,express,vue.js,axios,nuxt.js,Javascript,Express,Vue.js,Axios,Nuxt.js,因此,我在我的nuxt.js页面上设置了两个名为“确认”和“删除”的按钮。单击每个按钮时,将分别运行confirm()和delete()。这两个函数的代码几乎相同,唯一的区别是URL不同。当运行delete()时,它会使用axios执行GET请求,回调会完美运行,并执行我希望它执行的操作。但是,在运行confirm()时,它会执行请求,但不会运行回调 我想也许API服务器没有响应。但是,当我检查日志时,实际上正在发送响应 1zcu ——> GET /api/pending/delete/5
1zcu ——> GET /api/pending/delete/5d554a5d9ddb8079158eefcc
1zcu <—— 200 OK 15 B application/json; charset=utf-8 (<—> 326.1 ms)
yefy ——> GET /api/pending/confirm/5d554a5c9ddb8079158eefcb
yefy <—— 200 OK 14 B application/json; charset=utf-8 (<—> 540.9 ms)
网址
钮扣
<td v-if="!enquiry.isConfirming"><button v-on:click="confirm(enquiry._id)" class="button is-primary">Confirm</button></td>
<td v-if="!enquiry.isDeleting"><button v-on:click="discard(enquiry._id)" class="button is-danger">Discard</button></td>
Promise。那么只有在任务毫无例外地完成时才会执行
。您可能还需要使用Promise.catch为错误条件附加回调:
this.$axios.$get(url)
.then((res) => {
console.info(res);
})
.catch((err) => {
console.error(err);
})
.finally(() => {
console.info('done');
});
我用一个不同的解决方案解决了这个问题,但它让我有了一个新问题,你能帮我吗?我在这个问题上贴了一个答案。好吧,没关系,它还是不起作用。这是工作,因为我改变了CON_URL以匹配DEL_URL。我会试试你的解决方案我试过你的解决方案。。。它没有捕获任何错误,也没有运行.then()回调。
<td v-if="!enquiry.isConfirming"><button v-on:click="confirm(enquiry._id)" class="button is-primary">Confirm</button></td>
<td v-if="!enquiry.isDeleting"><button v-on:click="discard(enquiry._id)" class="button is-danger">Discard</button></td>
router.get('/delete/:id', (req, res) => {
Pending.findOneAndDelete({ _id: req.params.id }, (err, pending) => {
if (err) {
res.json({ error: true });
} else {
res.json({ error: false });
}
});
});
router.get('/confirm/:id', (req, res) => {
Pending.findOneAndDelete({ _id: req.params.id }, (err, pending) => {
if (err) {
res.json({ error: true });
} else {
const confirmed = new Booking(pending);
confirmed.save((err, result) => {
if (err) {
res.json({ error: true });
} else {
res.json({ error: false });
}
});
}
});
});
this.$axios.$get(url)
.then((res) => {
console.info(res);
})
.catch((err) => {
console.error(err);
})
.finally(() => {
console.info('done');
});