在ajax加载中缓存图像地址

时间:2014-07-03 06:57:22

标签: javascript php jquery ajax caching

我正在创建一个ajax滑块来显示图像。它工作得很好,但问题是图像缓存。当图像发生变化时,因为这是一个ajax加载,这里没有缓存,图像会延迟显示。我怎样才能毫不拖延地显示图像?这是我的代码:

JS:

$(document).ready(function(){
        var auto = setInterval(function(){
            $("#test").load("ajax.php", {count : count}, function(){
                count = count + 1;
                if (count == 5) {
                    count = 0;
                }
            }).fadeOut(100).fadeIn(100);
        },3000);

ajax.php中的PHP:

<?php   
    $pathArray = array( "<img src='pic/85.jpg' width='128' height='169'>",
                        "<img src='pic/18.jpg' width='128' height='169'>",
                        "<img src='pic/7.jpg' width='128' height='169'>",
                        "<img src='pic/004.jpg' width='128' height='169'>",
                        "<img src='pic/26.jpg' width='128' height='169'>"
);

    if (isset($_POST["count"])) {
        echo $pathArray[intval($_POST["count"])];
    }
?>

1 个答案:

答案 0 :(得分:0)

除非您另有指定,否则浏览器应自动缓存图像路径,无论文本来自何处,无论是硬编码,java脚本ajax还是其他任何内容。

如果一切都很慢,那似乎就是你的网络......

您可以随时创建一个javascript数组,并在使用该计数之前调用该图像的路径。

if (typeof images[count] != 'undefined') {
  // call ajax and save the path here, 
} else {
  //  display image
}