vue.js中,已经离开页面前往新的路由了,上一个页面的ajax调用返回的错误还是能显示

我在一个页面中执行api ajax调用,catch异常时,用element ui提供的$message函数打印错误提示,当ajax调用正在进行中时,点击侧边栏导航菜单切换到其它页面(router-link变了),然后在新的页面上弹出了ajax调用超时的错误提示,既然已经离开了,能不能让它不要显示了?

      apiListProjects(platform_id, 0)
        .then(response => {
          if (response.data.platform_id === this.platformId.toString()) {
            this.projectList = response.data.projects
            this.currentPlatformLoadingFromParent.bol = false
          }
        })
        .catch((err) => {
          this.currentPlatformLoadingFromParent.bol = false
          if (err.response) {
            this.$message({
              type: 'error',
              message: '获取项目列表失败,错误码:' + err.response.status,
            })
          } else {
            this.$message({
              type: 'error',
              message: '获取项目列表失败,后端没有响应!',
            })
          }
        })
阅读 2.8k
2 个回答

用的是axios吗

1.可以终止ajax,当你点击侧边栏导航菜单时,如果用的原生ajax请求方法利用XMLHttpRequest对象有abort()方法;
2.如果是用的jquery,如何终止JQUERY的$.AJAX请求

var request = $.get(“ajax.aspx”,{id:1},function(data){
  //do something
});
//终止请求动作.
request.abort();

3.如果用的axios,可以利用CancelToken取消ajax请求,axios中取消请求

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题