function httpSettingC(){
    if (xmlHttp.readyState==4){
        if (xmlHttp.status==200||xmlHttp.status==0){
            window.location.href("update_classify.jsp");
        }
    }
}
function cchange(){
    createObject(); 
    e = arguments[0]||window.event;  
    src = e.srcElement||e.target;
    var url="update_classify_change.jsp?change="+src.value;
    xmlHttp.open("get",url,true);
    xmlHttp.onreadystatechange=httpSettingC;
    xmlHttp.send(null);
}
说明:页面上有一个按钮,onclick="cchange()",update_classify_change.jsp用于更新数据库信息,httpSettingC处理返回结果(其实无返回值),刷新页面。
第一次运行时,数据库更新了,页面也刷新了
再运行,数据库更新,但页面不再更新了。
试了两个浏览器,都是这样...
这是为什么呢?

解决方案 »

  1.   

    "update_classify_change.jsp?change="+src.value; 
    把这句改成"update_classify_change.jsp?change="+src.value+"&step="+Math.Random();清理缓存!!这是浏览器发现请求页面相同直接调用缓存造成的!!可能那个Math.Random();函数有错!!反正生成一个随机数就可以!!
      

  2.   

    "update_classify_change.jsp?change="+src.value; 
    把这句改成"update_classify_change.jsp?change="+src.value+"&step="+Math.Random();清理缓存!!这是浏览器发现请求页面相同直接调用缓存造成的!!可能那个Math.Random();函数有错!!反正生成一个随机数就可以!!
      

  3.   

    恩,感觉你说的很对,试了一下,IE上这个问题解决了,但是遨游还是老样子,所以决定换成Chrome了。谢谢你啊
      

  4.   

    加个时间参数,这样浏览器才会认为你的每次链接都不一样,才会重新链接服务器"aaa.action?timeStamp="+new Date().getTime()+"..."
    new Date().getTime()  表示时间的毫秒,是js代码,这样能保证每次url都不一样。