我对javascript / ajax很新,所以请耐心等待。我正在尝试将表单字段值作为POST变量发送到php脚本,并让该php脚本设置会话变量。我不需要更新我正在调用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']。对此有任何建议将不胜感激。
答案 0 :(得分:4)
您正在启动AJAX请求,但您没有给它机会完成(Ajax中的“A”代表“异步”,因此当您执行location()
请求仍在运行时。)机会Ajax脚本永远不会被调用。
将切换页面位置的部分放入Ajax请求的成功回调中,以确保在重定向之前它能够正常运行。