无法获得缓存的AJAX数据维度

时间:2013-04-18 00:04:20

标签: jquery ajax caching

我试图通过缓存已经是AJAX的数据来提高我的AJAX调用效率。我还需要根据某些结果数据的维度以某种方式呈现数据。

第一次调用数据时,可以读取尺寸,一切都很好。缓存也运行良好,但我在缓存数据中获取元素的维度时遇到了很大的困难。

以下是我正在做的事情(具有相同问题)的简化版本:

var cache = {};

// The AJAX part
function getDetails(request){
    return jQ.get(request);
};

// Filter & render AJAX data
function renderData(data){
    var endResult = $(data).find('#theTargetElement');
    endResult.appendTo($placehold);
    $placehold.find('#theTargetElement').css('visibility','hidden');
    // This will log the dimensions on AJAX data fine
    // But almost all cached data returns height 0
    console.log( height of certain elements within data );
};

// Click handler
jQ('#slides').on('click', '.slideLink', function(e){
    e.preventDefault();
    var target = jQ(this).attr("href");
    if ( cache[target] ) { // If the data exists in cache object
        var $cached = cache[target]
        renderData( $cached );
    } else {
        getDetails(target)
            .done( function(result) {
                cache[target] = result;
                renderData(result);
            })
    }
});

附加数据肯定存在并显示在页面上 - 我似乎无法使用其测量结果。

0 个答案:

没有答案