关于web页面缓存问题解决方法,如图片缓存,异步提交数据页面不更新

问题描述:

1、在做异步更新图片的时候,,改变了img节点的src,但是img 图片还是没有更新

2、异步提交数据到后台,如用jquery的$.ajax,$.post,$.get ,发现数据提交不到后台,后台接收不到异步提交上来的数据\

问题原因:

由于很多浏览器都具备了数据缓存的机制,特别是图片的加载,当你加载完图片之后,如果你再次加载图片的路径和上次加载图片的路径是一样的,

浏览器就不从后台拿数据了,直接把你上次浏览的数据缓存下来,然后拿给你,这样的好处是可以提高用户体验,客户端浏览数据更快,不好的地方是,

后台更新的数据不能马上反馈到前台

解决方法:

在页面表头添加,避免数据缓存

<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>

然后,每次更新数据的路径,可以加上随机的参数,例如在后台用system类生成一个随机数直接加在返回路径后面

 String  random = System.currentTimeMillis()+"" ;

return "http://localhost:8080/XiongFeng/ClientFeedBackComfirm.jpg?random="+random

在前台,我们用异步机制提交数据到后台的时候,我们也可以在后面添加随机数(new Date()).getTime()

  $.ajax({
               cache: false,
               type: "POST",
               url:"hotel/HandleDeskOrderCart?time="+(new Date()).getTime(),
               data:$('#deskForm').serialize(),// 你的formid
               error: function(request) {
                   alert("网络出现错误");
                   return ;
               },
               success: function(data) {
                alert(data);
               }
           });

这样后台就不会因为缓存而接收不到数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值