代码之家  ›  专栏  ›  技术社区  ›  Aleksa Ristic

$会话变量未通过[重复]

  •  -1
  • Aleksa Ristic  · 技术社区  · 6 年前

    我有一个php页面,其中包含两个javascript函数,如下所示:

    function PregledDokumenta(id)
    {
        var info = id.split('-');
        var vrdok = info[0];
        var brdok = info[1];
    
        $.ajax({
            type: "POST",
            url: "../Php/Dokument/Pregled.php",
            data: { vrDok: vrdok, brDok: brdok },
            success: function(returnedData)
            {
                document.getElementById('Content').innerHTML = returnedData;
                <?php 
                    $_SESSION['vrDok'] = vrdok;
                    $_SESSION['brDok'] = brdok;
                ?>
    
        <?php
            $a = $_SESSION['vrDok'];
            echo("alert($a);");
            ?>
            }
        });
    }
    
    function UnosNoveStavke()
    {
        var vrdok = <?php echo($_SESSION['vrDok']);?>;
        var brdok = <?php echo($_SESSION['brDok']);?>;
    
        <?php
            $a = $_SESSION['vrDok'];
            echo("alert($a);");
            ?>
        $.ajax({
            type: "POST",
            url: "../Php/Dokument/IzborRobe.php",
            data: {vrDok: vrdok, brDok: brdok},
            success: function(returnedData)
            {
                document.getElementById('Content').innerHTML = returnedData;
            }
        })
    }
    

    所以当我加载页面并按下按钮时 PregledDokumenta(id) 功能。在这里,我从 id 元素,然后我回显一些其他文本和按钮,如您所见,我提醒 $_SESSION['vrDok'] 看看它是否被赋值并返回值。然后,当我点击按钮(运行第一个函数后大约10秒)时,我从第一个函数返回到第二个函数 UnosNoveStavke 功能。在那里你可以看到我再次提醒你 $_SESSION 返回值但它返回 undefined . 为什么会这样?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Angel Politis    6 年前

    你很困惑 JavaScript PHP 互相沟通!

    例如,使用以下代码,您可以有效地尝试分配 JavaScript 从AJAX请求中获取的变量 菲律宾比索 部分:

    <?php 
        $_SESSION['vrDok'] = vrdok;
        $_SESSION['brDok'] = brdok;
    ?>
    

    这不行,因为 菲律宾比索 表达式在页面加载之前计算。

    如果需要将这些值保存在 菲律宾比索 会话,您必须在发送AJAX请求的文件中执行,在您的情况下 Pregled.php ,或 菲律宾比索 包含在其中的文件。