如何用jQuery读取缓存的json数据?

时间:2015-04-06 08:45:54

标签: jquery json caching

使用jQuery 1或2的最新版本,我有这个简单的代码发出请求并显示结果:

var url1 = "cache/1";

var callback1 = function(data, statusText, response){
    $("#result1").html("status :"+response.status);
    $("#result1").append("<p>"+JSON.stringify(data)+"</p>");
};

$(function() {

    $("#query1").on ("click", function(){
        $.ajax({
            url: url1,
            cache: true,
            dataType: 'json',
            ifModified: true,
            success:callback1
        });
    });
});

在第一次请求时,我读了我的Json数据。在第二个请求中,我按预期 304响应,数据未定义。

如何显示浏览器缓存中的数据?

1 个答案:

答案 0 :(得分:1)

ifModified

的文档
  

ifModified (默认值:false)
  类型:布尔

  仅在自上次请求后响应发生更改时才允许请求成功。

一切都说,我猜。不要使用它,它不符合你的想法。

$(function() {
    $("#query1").on("click", function(){
        $.get("cache/1").done(function (data, statusText, response) {
            $("#result1")
                .html("status :"+response.status);
                .append("<p>"+JSON.stringify(data)+"</p>");
        });
    });
});

不要试图引导客户端的缓存。这是服务器的任务。设置适当的缓存标头,客户端将自行运行。