php - ajax 请求/php session 变量

标签 php javascript ajax

我对 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/

相关文章:

php - MYSQL 连接两个表,并使用第二个表中的匹配值

PHP导航菜单

javascript - ajax下的嵌套订单列表

javascript - Django request.DATA 获取损坏的值

php - 编辑 Woocommerce get_price_html() 格式

php - 编辑时唯一的 key 违规

javascript - 变量x; ... x.trim();为什么有时它允许但有时它使其余代码停止工作?

javascript - AJAX 将表单变量发布到 PHP 页面

php - 通过 Ajax jQuery 改变背景颜色?

php - 从 mysql php jquery ajax 读取数据