0

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

我从我一直在阅读的内容中收集到,最好的方法是将 jquery 负载交换为 jquery Ajax,唯一的问题是我不太明白如何使用 jquery ajax 来实现这一点,如果有人能给我将不胜感激我是起点

谢谢

4

2 回答 2

1

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

于 2011-10-09T11:44:02.453 回答
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', ...);

希望这足以让您入门,如果您有任何问题,请告诉我。

于 2011-10-09T11:44:38.827 回答