javascript - 如何在 javascript 中捕获 php session 变量而不刷新页面?

标签 javascript php ajax session

我有一个 index.php,我在其中执行 session_start() 等操作。为了登录,我向 receiver.php 发送一个 ajax 请求>,我在其中设置 session 变量等并获取 ajax 响应。

现在,只有当刷新包含以下代码的 index.php 页面时,我才能完美捕获 php session 变量:

jsSessionUserId = <?php     
    if (isset($_SESSION['userId'])) { //LoggedIn:
        echo json_encode($_SESSION['userId']); 
    } else { //  Not logged in.
        // some code here
    }
?>;

我真正想要的是将其放入一个函数中,然后在收到成功的 ajax 响应时调用该函数(因此不需要刷新 index.php 页面)。它不起作用。我怀疑 php 不能在 javascript 函数内正常工作。感谢您的帮助。

最佳答案

把事情搞混是个坏主意。就像 PHP 和 JavaScript 一样。现在最简单的解决方案 - 一旦收到成功的登录响应,就覆盖您的 JavaScript 变量。

$.post("receiver.php", formData, function(response){ // login callback
  if(response.UserId){ // return user id if login is successful
    jsSessionUserId = response.UserId; // overwrite old variable
  }
}, "json");

关于javascript - 如何在 javascript 中捕获 php session 变量而不刷新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19119274/

相关文章:

javascript - window.open 正在打开一个带有 origin/url 的新选项卡

php simpleXMLElement 到数组 : null value

javascript - JSON 数组到 Mustache

javascript - KnockOut 无法解析绑定(bind)

javascript - 使用 ES6 对象解构创建具有另一个对象的属性和值的对象

javascript - 如何在 html 中使用 javascript 运行 php 文件

javascript - 如何使用嵌套 HTML &lt;input[name =""]> 作为 JavaScript 对象/数组键

php - 几种阻止表单正常提交的方法?

javascript - 表单验证 ASP.NET 中的整个页面

php - 通过父类中的实例化类访问常量