jquery - 浏览器会记住 session

标签 jquery internet-explorer session 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');
        }       
    });

java 类将返回一个字符串,“TRUE”/“FALSE”。如果返回值为 true,则将显示 greenzx.png 图像,否则将显示 redzx.png 图像。

这个过程第一次运行得很好。但是,当再次单击同一按钮时,不会调用 Java 操作类,浏览器只会返回最新的图像。

假设它是 greenz.png,那么它会立即再次变为 greenz.png

我的浏览器表现得好像它记住了 session 中的值,这是不希望的。这与浏览器设置有关还是我必须更改我的代码?

PS:我需要使用 IE7/IE8 作为浏览器。它与 Firefox 配合良好。 IE 是我遇到此问题的地方。

最佳答案

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

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

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

关于jquery - 浏览器会记住 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382888/

相关文章:

jquery - 在鼠标悬停时显示图像

jquery - Ajax 调用在 IE 中不起作用,除非您修改安全设置

java - Hibernate session.flush() --> 如何只更新脏对象而不是所有内容?

javascript - 如何在 IE 中的文档上触发 "onload"事件

html - 表单元素 "select"的高度在服务器上的 IE 中显示不正确,但在本地计算机上正常

c# - 如何在没有 session 的 CRUD .NET MVC 中保持异步上传的文件

php - Laravel 5.1 中 VerifyCsrfToken.php 第 53 行中的 TokenMismatchException

jquery - 如何使用 jQuery 从 url 中获取变量?

javascript - GWAN 正在修改 jquery.min.js 报错

jquery - less.js 可以从 HTML 中读取类名和参数吗?