我有一个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 . 为什么会这样?
PregledDokumenta(id)
id
$_SESSION['vrDok']
UnosNoveStavke
$_SESSION
undefined
你很困惑 JavaScript 和 PHP 互相沟通!
JavaScript
PHP
例如,使用以下代码,您可以有效地尝试分配 JavaScript 从AJAX请求中获取的变量 菲律宾比索 部分:
菲律宾比索
<?php $_SESSION['vrDok'] = vrdok; $_SESSION['brDok'] = brdok; ?>
这不行,因为 菲律宾比索 表达式在页面加载之前计算。
如果需要将这些值保存在 菲律宾比索 会话,您必须在发送AJAX请求的文件中执行,在您的情况下 Pregled.php ,或 菲律宾比索 包含在其中的文件。
Pregled.php