会话被浏览器记住

Pra*_*nna 2 session jquery internet-explorer struts2

我正在开发一个struts2 Web应用程序.当按钮单击发生时,我将对struts操作进行$ getJSON调用并对java类执行一些操作.

$.getJSON('uponClickingBtn',function(data){
        if(data.status=="TRUE"){
            $('#test').attr('src','image/greenzx.png');
        }
        else{
            $('#test').attr('src','image/redzx.png');
        }       
    });
Run Code Online (Sandbox Code Playgroud)

java类将返回一个String," TRUE"/" FALSE".如果返回的值为true,则会出现greenzx.png图像,否则redzx.png将出现图像.

这个过程第一次正常工作.但是当再次单击相同的按钮时,不会发生对Java动作类的调用,浏览器只返回最新的图像.

说,如果是的话greenz.png,它会greenz.png立即再次出现.

我的浏览器表现得好像它会记住会话中的值,这是不合需要的.这与浏览器设置有什么关系,或者我将不得不更改我的代码?

PS:我要求使用IE7/ IE8作为浏览器.它适用于Firefox.IE是我遇到这个问题的那个.

Kna*_*ģis 6

原因是浏览器缓存了您的操作的响应.

  • 选项1 - 在JAVA操作中,您必须将HTTP缓存设置为no-cache.
  • 选项2 - 当您使用$getJSON向URL添加随机参数时'&time=' + Math.random()(该值必须每次都是唯一的).

第二个选项可以通过使用自动地实现$.ajaxcache:false选项.