在其他函数中中止 Ajax 请求

Posted

技术标签:

【中文标题】在其他函数中中止 Ajax 请求【英文标题】:Abort Ajax Request in other function 【发布时间】:2015-09-15 12:51:44 【问题描述】:

我想中止另一个函数中的 Ajax 请求 示例:

var xhr = false;
$(function(e) 
     $(document).on('click', '.menue-button', function(e) 
         // Some JS
         xhr = $.ajax(
             type: "POST",
             url: index.php,
             //The ajax functions
          );
      );
);

$(document).on('click', '#progress-abort', function()          
    xhr.abort();
);

调试器说:

Uncaught TypeError: Cannot read property 'abort' of undefined

我知道为什么,但我不知道如何解决问题

【问题讨论】:

【参考方案1】:

它尝试了以下方法:

var xhr = false;
$(function(e) 
 $(document).on('click', '.menue-button', function(e) 
     // Some JS
     xhr = $.ajax(
         type: "POST",
         url: index.php,
         //The ajax functions
      );
  $(document).on('click', '#progress-abort1', function() 
    xhr.abort();
  );

  $(document).on('click', '#progress-abort', function()          
      $('#progress-abort1').trigger('click');
  );
);

'#progress-abort1 不会触发。怎么了?

【讨论】:

以上是关于在其他函数中中止 Ajax 请求的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 中止请求

使用 jQuery 中止 JSONP ajax 请求

在 AngularJS 中中止挂起的 ajax 请求

上传大图像时网络连接中止后恢复或重新启动ajax请求?

中止多文件上传 AJAX 请求

在 IE10 的 AJAX CORS 请求中添加自定义标头时,CORS 请求中止