【问题标题】:How can i check have already requested ajax data?我如何检查已经请求的 ajax 数据?
【发布时间】:2013-03-12 18:59:50
【问题描述】:

我有图片库。当用户点击缩略图时,画廊有缩略图 ajax 请求将触发。我希望当用户再次单击缩略图请求时不应触发并使用现有数据。

$.getJSON(url, function(data) {

}

我想要一个 js 对象,并在单击缩略图时保留该对象中每个图像的 json 数据,如果是,首先检查是否已经加载数据,然后不要进行 ajax 调用,只需使用数据我之前获取的我应该保存对象的数据吗?如果是!那我该怎么做呢?

【问题讨论】:

  • 只需设置一个变量作为标志。
  • @Diodeus 你能举个例子吗!

标签: javascript ajax json jquery


【解决方案1】:

.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");
});

第一次点击缩略图会请求数据然后使用数据,后续每次点击只会使用数据

【讨论】:

  • 这是一个很好的例子,工作正常!有没有其他方法可以让我在这个函数之外获取数据对象并检查所有对象是否与当前对象匹配! if([imageObj1,imageObj2,imageObj3] == imageObj2) 之类的有可能吗?
  • 我不太明白if([imageObj1,imageObj2,imageObj3] == imageObj2) 的用途,一个对象永远不会等于另一个对象,除非它们实际上是同一个对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多