防止回调页面刷新,禁用缓存

html中禁用缓存:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

<META HTTP-EQUIV="Expires" CONTENT="0">

php中禁用缓存:

// 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。

header ( " Expires: Mon, 26 Jul 1970 05:00:00 GMT " );

Expires = -1

Expires是个好东东,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点

// 设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料

header ( " Last-Modified:" . gmdate ( " D, d M Y H:i:s " ). "GMT " );

//告诉客户端浏览器不使用缓存,HTTP 1.1 协议

header ( " Cache-Control: no-cache, must-revalidate " );

// 告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议

header ( " Pragma: no-cache " );

代码逻辑验证:

//order.status也可以使用session来控制

if(order.status==‘未支付/0‘){

$sql="update user set banlance=balance+10 where uid=uid";

$sql="update order set status=‘已支付/1‘ where oid=oid";

}else{

echo ‘已完成,请勿重复刷新!‘;

//header("xxx.php");

}

//session

session_start();

$_SESSION[‘num‘] = 0;

if($_SESSION[‘num‘] == 0){

$sql="update user set banlance=balance+10 where uid=uid";

$_SESSION[‘num‘] = 1;

}else{

echo ‘您已经提交过了,请不要重复提交‘;

}

时间: 2024-08-11 17:49:44

防止回调页面刷新,禁用缓存的相关文章

response对象处理HTTP文件头(禁用缓存、设置页面自动刷新、定时跳转网页)

response对象处理HTTP文件头 制作人:全心全意 禁用缓存 在默认情况下,浏览器将会对显示的网页内容进行缓存.这样,当用户再次访问相关网页时,浏览器会判断网页是否有变化,如果没有变化则直接显示缓存中的内容,这样可以提高网页的显示速度.对于一些安全性要求较高的网站,通常需要禁用缓存. 通过设置HTTP头的方法实现禁用缓存: <% response.setHeader("Cache-Control", "no-store"); response.setDa

JavaScript禁用页面刷新

JavaScript禁用页面刷新代码如下: //禁用F5刷新 document.onkeydown = function () { if (event.keyCode == 116) { event.keyCode = 0; event.cancelBubble = true; return false; } } //禁止右键弹出菜单 document.oncontextmenu = function () { return false; } 添加完成之后,先情况浏览器缓存查看效果,有的没有效果

Response_输出数据,实现文件下载,定时刷新页面,是否缓存,重定向,实现验证码

1.Response_输出数据 1.Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. ServletResponse -- 通用的response提供了一个响应应该具有最基本的属性和方法|-HttpServletResponse -- 在ServletResponse的基础上针对于HTTP协议增加了很多强化的属性和方法 2.HttpServletResponse对象封装了向客户端发送响应状态码.响应头.实体数

强制JSP页面刷新,防止被服务器缓存(可用于静态include强制刷新)

对于jsp页面,为了防止页面被服务器缓存.始终返回同样的结果. 通常的做法是在客户端的url后面加上一个变化的参数,比如加一个当前时间. 我现在使用的方法是在jsp头部添加以下代码: <%    request.setAttribute("decorator", "none");    response.setHeader("Cache-Control","no-cache"); //HTTP 1.1    respon

php笔记07:http响应详解(禁用缓存设置和文件下载)

演示如何通过Http响应控制页面缓存,在默认情况下,浏览器是会缓存页面的1.禁用缓存设置 (1).我在...\htdocs\http文件夹,写一个cache.php文件如下: <?php echo "hello!cache"; ?> 在浏览器中输入地址访问cache.php这个文件,结果如下: 抓包如下: (2)接下来,我们把光标放在地址栏,然后按一下回车键如下: 抓包如下:我根据数据包知道,一旦第一次刷新获取过这个页面,浏览器默认都会缓存这个页面,那么下次再次访问,就在缓

chrome禁用缓存:调试javascript

chrome对js和图片的缓存,导致调试的程序不是最新的,有时F5刷新了都没用. 可以禁用缓存: 先按F12,再按F1, 勾选 Disable cache (while DevTools is open)

浏览器,开发模式(禁用缓存)

web前端调试JS.html页面时,有时因为浏览器缓存的原因,真正运行的程序并非最新的程序,此时需要禁用浏览器缓存. chrome浏览器开发模式下禁用缓存的方法: 1.首先F12进入开发模式 2.勾选中"Disable cache(while DevTools is open)"

微信号开发禁用缓存

在开发微信网页的过程中需要调试页面,涉及到HTML,CSS,JS等文件的修改 但是微信在第一次获取这些数据的时候如果没有明确的在HTTP头中设置缓存信息,微信会自动缓存这些东西 即使重新关注公众号,这些缓存仍起作用,给调试造成很大的不便 对于HTML页面,我们可以在HTML页面上加meta标签禁用缓存 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /

Jquery--------ajax $(&#39;&#39;).load() 禁用缓存

最近使用jquery中的load加载页面时会出现页面只加载一次,而且这种情况只出现在ie浏览器中,chrome就不会,一开始以为是ie浏览器的原因,后来上网查了一下发现是ajax缓存的原因,所以在页面的相应位置添加: $.ajaxSetup ({       cache: false //关闭AJAX缓存   }); 或者用例外一种方法,在请求的url后面加个时间戳,让ajax认为是个新的页面请求,如下: $('#indexDiv').load("${ctx}/admin/index.do?20