好的,所以我不太明白如何做到这一点,但这就是我想要做的。我需要更新在网站上多个地方使用的 SESSION。我使用 ajax 执行此操作,但是当我更改 SESSION 时,它在网站中与 ajax 调用之前保持相同。这是一个例子:
索引.php
<?php
session_start();
?>
<script>
function sessionUpdate()
{
//Do a get ajax call that send the 2 parameters to updateSession.php
}
</script>
<?php
$_SESSION['foo'] = "foo";
$_SESSION['bar'] = "bar";
echo"<div>";
echo"<p onclick="sessionUpdate()>Update Session</p>";
echo"{$_SESSION['foo']} {$_SESSION['bar']}";
echo"</div>";
?>
更新会话.php
<?php
session_start();
$_SESSION['foo'] = "new foo";
$_SESSION['bar'] = "new bar";
?>
现在,整个站点都使用了会话,所以我不能只用 innerHTML=data.responseText; 替换示例 div 中来自 ajax 调用的信息;就在那个地方。无论如何,当我这样做时, foo 和 bar 会话的回声不会改变,它们只是静态变量,如果不重新加载页面就无法更改,还是有什么问题?