我在页面中要生成一个统计评价的图片,一开始查看的是默认的图片,无数据显示,评价之后有数据展示,我用的是jfreechart展示图片,我用的ajax无刷新展示图片。
从网上找了很多方法,都没有效果。
如:1:页面加<meta http-equiv="PRAGMA" content="NO-CACHE"/>
    <meta http-equiv="CACHE-CONTROL" content="NO-CACHE,MUST-REVALIDATE"/>
    <meta http-equiv="EXPIRES" content="0"/>2:js中加window.location=this.location.href+"#"+new Date().getTime();或加随机数3:$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});
请大家指点迷津!多谢了!!!

解决方案 »

  1.   

    //点击查看评价详情
    function showAppraisement(appId){
    $("#rat1").children().eq(0).attr("src", "./img/loading1.gif")
    $("#rat2").fadeOut("slow",function(){
    $("#rat1").fadeIn("slow",function(){
    //派发事件,重新计算页面的尺寸
    content_resize();
    });
    });
    $.post("./queryAppraiseComm.action", {appId:appId}, function(msg){
    if(msg){
    $("#rat1").children().eq(0).attr("src", "./img/appraise/" + appId + "/" + msg)
    }
    //派发事件,重新计算页面的尺寸
    content_resize();
    });
    }
      

  2.   

    你是想清空缓存还是只想清空缓存中的图片信息?貌似不能区分吧。
    另外你使用什么框架?再或者你可以去调用ie的清空缓存的办法。
    hibernate在缓存这方面做的比较好,你可以借鉴一下~
      

  3.   

    我用的是mybatis,google可以清空,但ie无效
      

  4.   

    你要把AJAX请求的URL加上时间戳,这样才不会有IE缓存。
    时间戳一般是这样的:
    http://xxx.xxx.xxx/xxx?t=1234567890123
    你之前用"#"是没用的,这个锚点是浏览器用的,要用http request parameter的方式,这样IE就会认为是不同的请求了。