问题:
在做支付调转时,当用户选择支付类型点击支付需要跳转到支付行的页面,但是不想支付关掉页面,下次再点击支付时还是相同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始终相同。