IE浏览器自身读缓存问题

 问题:

 

  在做支付调转时,当用户选择支付类型点击支付需要跳转到支付行的页面,但是不想支付关掉页面,下次再点击支付时还是相同URL,但是流水号没有变,这是需要解决的问题,按说流水号递增才对,

 

 

  原因分析:因为IE浏览器对请求进行了缓存,因为每次调用的是相同的URL地址,浏览器缓存就是当你打开一个网页,浏览器会自动下载副本到你电脑上,就相当于你另存为网页到某个地方而已,只不过这里是自动而已。当然不是浏览器能把各种网页都能下载到本地电脑上,它是有特殊情况。一般html,后者request是get请求,而post一般不缓存。响应头如果是POST模式递交数据,则返回的页面大部分不会被浏览器缓存,如果你发送内容通过URL和查询(通过GET模式),则返回的内容可以缓存下来供以后使用。

 

 

解决办法:

 

1, GET请求URL后加随机数或时间戳,让服务器认为是不同的请求

 

2,使用POST代替GET,浏览器不会对POST做缓存

  注意:为什么cache属性对post没有用,对get才有用?


  因为1.浏览器缓存url请求原理就是判断url是否相同,url相同则读取缓存,url不相同则读取服务器

使用GET方式提交url类似"http://www.example.com/index.jsp?class=articele&page=5“,而POST方式提交url类似http://www.example.com/index.jsp,参数是在请求head里的,不在URL上,请求参数URL始终相同。

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值