vue2 页面跳转时, 如何不再执行当前页面ajax的回调函数啊 ?

发布于 2022-09-04 18:07:25 字数 136 浏览 12 评论 0

有时候网络不好的时候. 一个页面的请求往往需要很长时间才响应 . 这时候用户已经跳转到另一个页面.. 此时之前那个响应成功. 执行回调函数...

这时候会给用户造成误解.... 以为是当前此时此刻这个页面给出的一些信息... 比如:报错

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

溺渁∝ 2022-09-11 18:07:26

这样的话,建议在ajax的回调函数中写上一些判断就好,比如:可以判断当前路由是都是进行ajax请求时的路由,如果

是,那么执行回调,如果不是就return出来就好了。

十秒萌定你 2022-09-11 18:07:26

有个思路,可以参考。
如果是原生 XmlHttpRequest 对象,可以直接调用 abort() 方法终止ajax。
所以,你可以在离开路由的时候,调用 xhr 的 abort

然后ajax,回掉里面处理下。

    xhr.onreadystatechange = function(){
        if(request.readyState !==4) continue;// 忽略未完成的请求
        if(request.status === 200){} // 成功
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文