Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 特定URL导致axios nuxt模块不运行回调_Javascript_Express_Vue.js_Axios_Nuxt.js - Fatal编程技术网

Javascript 特定URL导致axios nuxt模块不运行回调

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

因此,我在我的nuxt.js页面上设置了两个名为“确认”和“删除”的按钮。单击每个按钮时,将分别运行confirm()和delete()。这两个函数的代码几乎相同,唯一的区别是URL不同。当运行delete()时,它会使用axios执行GET请求,回调会完美运行,并执行我希望它执行的操作。但是,在运行confirm()时,它会执行请求,但不会运行回调

我想也许API服务器没有响应。但是,当我检查日志时,实际上正在发送响应

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');
    });