今天在项目中运用到AJAX的getJSON,但出现一个问题当你查询出数据后,把数据修改,再次查询时发现,并没有把修改成功的数据查询出来,检查发现当再次查询时,并没有再次调用查询的方法,这时我想到了是不是缓存的问题.于是我在后台查询返回数据前加了如下语句:
这时问题解决,原因就是因为缓存导致当你再次查询时并没有进行查询,而是调用了缓存中的数据.
ServletActionContext.getResponse().setHeader( "Pragma", "no-cache" );
ServletActionContext.getResponse().addHeader( "Cache-Control", "must-revalidate" );
ServletActionContext.getResponse().addHeader( "Cache-Control", "no-cache" );
ServletActionContext.getResponse().addHeader( "Cache-Control", "no-store" );
ServletActionContext.getResponse().setDateHeader("Expires", 0);
这时问题解决,原因就是因为缓存导致当你再次查询时并没有进行查询,而是调用了缓存中的数据.