如何检查已经请求ajax数据?

问题描述:

我有图片库。和画廊有缩略图时,用户点击缩略图ajax请求将触发。我希望当用户再次点击缩略图请求时不应该触发并使用现有数据。如何检查已经请求ajax数据?

$.getJSON(url, function(data) { 

} 

我想要一个js对象,并保持JSON数据对于该对象的每个图像时点击的缩略图进行,首先检查是否已经加载了数据,如果是的话,不要让一个Ajax调用只需使用我早先提取的数据,如果我拿着对象的数据?如是!那我该怎么做呢?

+0

只需设置一个变量作为一个标志。 – 2013-03-12 19:02:55

+0

@Diodeus可以请你举个例子! – 2013-03-12 19:04:34

将初始点击事件绑定到.one,然后在请求ajax后绑定一个新的点击事件。

$(".thumbnail").one("click",function(){ 
    var request = $.getJSON(url); 
    $(this).on("click",function(){ 
     request.done(function(data){ 
      // do something with data when it is available 
     }); 
    }).triggerHandler("click"); 
}); 

在每个缩略图中的第一次点击将请求数据然后使用这些数据,每个随后的点击将只使用数据

+0

这是很好的例子,工作正常!有没有其他的方式,所以我可以得到这个函数以外的数据对象,并检查所有的对象是否与当前匹配!像'if([imageObj1,imageObj2,imageObj3] == imageObj2)'有可能吗? – 2013-03-12 19:46:53

+0

我不'很明白你要去哪里'if([imageObj1,imageObj2,imageObj3] == imageObj2)',一个对象永远不会等于另一个,除非它们都是字面上相同的对象。 – 2013-03-12 20:32:05

+0

好的。感谢帮助。 – 2013-03-13 09:03:57