LJinG97 2019-11-18 19:19 采纳率: 0%
浏览 876

在前后端上遇到一个问题:前端js设置cookie,后端php修改该cookie后并且获取该cookie最后传给前端依旧是原来的值不是修改过后的值。

前端代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <button class="btn1">按钮1</button>
    <button class="btn2">按钮2</button>
    <script>
        let oBtn1 = document.querySelector('.btn1'),
            oBtn2=document.querySelector('.btn2');
        // 按钮1单击事件
        oBtn1.onclick = function () {
            // 前端设置cookie
            let d = new Date();
            // 设置cookie保留时间为1分钟
            d.setMinutes(d.getMinutes + 1);
            // 前端js设置cookie
            document.cookie = `test=123;expires=${d.toUTCString()}`;
            // 在控制台打印前端cookie
            console.log(document.cookie);

            // ajax传给后端
            let xhr = new XMLHttpRequest();
            xhr.open('get', './test.php');
            xhr.send();
            xhr.onreadystatechange = function () {
                // 当http请求成功执行
                if (this.status == 200 && this.readyState == 4) {
                    // 在控制台打印传回来的数据
                    console.log(this.responseText);
                }
            }
            // 在控制台打印前端cookie
            console.log(document.cookie);
        }

        // 按钮2单击事件
        oBtn2.onclick=function(){
            console.log(document.cookie);
        }

    </script>
</body>

</html>

后端php代码:

<?php
// 修改cookie
setcookie("test","666");
// 获取cookie
$test=$_COOKIE["test"];
// 传值给前端ajax
echo $test;

点击按钮1后

控制台结果图

控制台结果图

cookie结果图

cookie结果图

请求头和响应头结果图

请求头和响应头结果图

点击按钮2后

控制台结果图

控制台结果图

问题:本因应该在控制台的第三行打印‘666’,因为php(是从上到下执行顺序)修改了cookie,并且重新获取cookie,并且传回给前端,而前端
图片说明

这个位置应该打印‘666’而不是‘123’。

  • 写回答

1条回答

  • 纳路透 2019-11-20 10:09
    关注

    后端问题,一,看是否真的设置成功,二,给你返回的值是否是设置成功后的值

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!