PHP中history.back(-1)导致的此网页的本地副本已过期[已解决][纠错]
php程序中在a.php提交数据到b.php执行相关操作后返回a.php并刷新,在b.php中使用
echo "<script>alert('提示:".$r."'); window.history.back(-1); </script>";
但是测试时发现,返回后直接提示本地副本已过期需要重新下载!后面查询一番资料已解决。红色字体为纠错内容。
1.将a.php中的<head runat="server">? 改为<head>保存即可。
2.也可能是缓存被清理了
检查页面代码 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 或 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); 把上面这些去掉
也可以参考https://bbs.csdn.net/topics/200067714
纠错:按照上面方法1修改后发现还是不行,好像是因为a.php提交post到a.php自身后查询出相关数据,然后再把这些查询出的数据更新后post到b.php中去,b.php处理后再返回前一个页面a.php。我个人理解为post到b.php之前需要保证a.php本身没有提前进行其他post操作或输出,否则还是会提示网页过期。后来把a.php里的post操作改成get获取了。解决~
if(!isset($_GET['select_day'])){//如果没有获取到就默认为今天 $select_day=date("Y-m-d",intval(time())); }else{ $select_day=$_GET['select_day']; }; //省略 sql 查询操作***
<input type="date" name="select_day" onchange="document.location='?select_day='+this.value+'&select_class=<?php echo $select_class?>';" value="<?php echo $select_day;?>"/>
基于互联网精神,在注明出处的前提下本站文章可自由转载!
本文链接:https://ranjuan.cn/php中history-back-1导致的此网页的本地副本已过期已解决/
赞赏
微信赞赏支付宝赞赏
发表评论