我目前正在设置一个项目页面,其中包含一系列项目图像的链接,这些图像目前是使用 jquery load 加载的。但是,如果我单击一个链接,然后快速连续单击另一个链接,它似乎从第一个链接加载图像,而不是取消该请求并加载第二个链接
我从我一直在阅读的内容中收集到,最好的方法是将 jquery 负载交换为 jquery Ajax,唯一的问题是我不太明白如何使用 jquery ajax 来实现这一点,如果有人能给我将不胜感激我是起点
谢谢
我目前正在设置一个项目页面,其中包含一系列项目图像的链接,这些图像目前是使用 jquery load 加载的。但是,如果我单击一个链接,然后快速连续单击另一个链接,它似乎从第一个链接加载图像,而不是取消该请求并加载第二个链接
我从我一直在阅读的内容中收集到,最好的方法是将 jquery 负载交换为 jquery Ajax,唯一的问题是我不太明白如何使用 jquery ajax 来实现这一点,如果有人能给我将不胜感激我是起点
谢谢
您可能想阅读:Abort Ajax requests using jQuery他们解释了这一点。出于某种原因,StackOverflow 想要将其转换为评论,而不是答案,所以我添加了这句话。
我现在假设,你正在调用这样的东西:
$('#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', ...);
希望这足以让您入门,如果您有任何问题,请告诉我。