我对 javascript/ajax 相当陌生,所以请耐心等待。我正在尝试将表单字段值作为 POST 变量发送到 php 脚本,并让该 php 脚本设置 session 变量。我不需要更新调用 javascript 脚本的页面上的任何内容。这就是我正在做的...
这是我的 javascript 内容:
xmlhttp.open("POST","ajax/create_employee_session_handler.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("blah=1");
window.location="newpage.php";
这是我的 php 代码(简化):
session_start();
if($_POST)
{
$_SESSION['blah'] = $_POST['blah'];
}
由于某种原因,当我重定向到下一页时,我没有得到 $_SESSION['blah']。任何对此的建议将不胜感激。
最佳答案
您正在启动 AJAX 请求,但没有给它完成的机会(Ajax 中的“A”代表“异步”,因此当您执行 location()
时,请求是仍在运行。)Ajax 脚本很可能永远不会被调用。
将切换页面位置的部分放入 Ajax 请求的成功回调中,以确保其在重定向之前正常工作。
关于php - ajax 请求/php session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777711/