页面返回上一层 重复返回已处理过的数据?

商城首页有个功能,就是当用户当天首次登陆的时候,会在主页上给用户一个【积分+10】的提示

描述下bug出现的经过:
当我当天第一次登陆的时候,会弹出【积分+10】的提示,然后这时候我在主页上点击任意一个链接,并在那个链接点击返回的时候,这时候回到了主页,还是会重复出现【积分+10】的提示。

但是不应该啊,因为我在后台已经有了逻辑处理,当用户当天首次登陆的时候插入记录到表,并返回200,如果已经登录过返回202,前台根据返回状态码进行提示,但是当从上一页返回到主页的时候还是会有提示出现。如果我在主页重复刷新一次的话,提示就没有了

我比较了一下两次(刚进入页面从上一层返回过来的页面)url返回的结果都是200,这就很奇怪了

贴一下代码:
js

clipboard.png

php

clipboard.png

求解救~


get请求会被浏览器缓存,orz~

阅读 2.5k
3 个回答
<?php
session_start();
if ($_POST){
    if(!$_SESSION['status2']){
        echo 1;
    $_SESSION['status2']=1;
    } else {
        echo 2;
    }
}

<script>
  $.post('./test.php',{statue:1},function(e){
    alert(e);
  })
</script>

这么测试了下发现没有 问题 建议你追一下判断有没有登陆过的代码。是不是有缓存或者什么其他的地方影响了

total那句登录态判断有没有问题?

考虑一下,会不会是缓存的影响。
一下两次积分在后台是否确实增加了。如果第二次没有增加,说明你的后台逻辑没错,可能是应为浏览器缓存导致的影响。如果后台确实都增加了,那么就是后台逻辑有错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题