使用jquery.Ajax()取消请求

时间:2011-10-09 11:35:26

标签: javascript jquery jquery-load

我目前正在设置一个项目页面,其中包含一系列项目图像链接,这些图像目前正在使用jquery加载。但是,如果我单击一个链接然后快速连续单击一个不同的链接,它似乎从第一个链接加载图像而不是取消该请求并加载第二个链接

我从我一直在阅读的内容中得知,最好的方法是将jquery加载交换为jquery Ajax,唯一的问题是我不太明白如何使用jquery ajax实现这一点,我将不胜感激有人可以给我一个起点

由于

2 个答案:

答案 0 :(得分:1)

您可能希望阅读:Abort Ajax requests using jQuery他们解释了这一点。出于某种原因,StackOverflow希望将其转换为注释,而不是答案,所以我添加了这句话。

答案 1 :(得分:0)

我现在正在假设你正在打这样的话:

$('#mydiv').load('projects.php?page=1');

使用 ajax()的确切等价物是:

$.ajax('projects.php?page=1', {
  success: function(html) {
    $('#mydiv').html(html);
  }
});

我猜人们告诉你,你想要中止旧请求并开始一个新请求?你可以通过保存 ajax()返回的jqXHR对象并在以后使用它来实现:

var jqXHR = $.ajax('first url', ...);

// Later
jqXHR.abort();
var jqXHR = $.ajax('second url', ...);

希望这足以让你入门,如果你有疑问,请告诉我。