用ajax缓存

时间:2012-01-08 19:36:22

标签: jquery html xmlhttprequest

我已经有了这个:

$(document).ready(function() {
    // one time stuff
    $.ajaxSetup({
      cache:false
    });
}

我现在它的工作原因是我遇到了没有它的问题而且我将它添加到我每100ms读取一个文件中。只有这样:

$.getJSON('output.json', function(data){    
    faceDetected = data.faceDetected;
    frameCount = data.frameCount;   
});

它不起作用:

function loadContent(page){

    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function(){
        if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {

            $("#content").html(xmlhttp.responseText);
        }
    }
    xmlhttp.open("GET", page, true);
    xmlhttp.send()

}

有人知道如何修复吗?

1 个答案:

答案 0 :(得分:1)

第一个例子是jQuery,而cache: false设置只是关于jQuery。

第二个是使用本机XMLHttpRequest对象。要在第二个示例中破坏缓存,您可以在查询字符串中附加时间戳和随机数。

var noCache = new Date().getTime() + Math.random() * 1234567;
xmlhttp.open("GET", page + '&noCache=' + stamp, true);

您可以查看following blog post以获得更详细的解决方案。