如何使用Ajax函数从php服务器获取会话变量?(PHP HTML JS Ajax)

Rel*_*lla 3 html javascript php ajax session

所以在我的PHP我有这样的东西

$_SESSION['opened'] = true;
Run Code Online (Sandbox Code Playgroud)

但是,在用户使用其他一些html\php页面执行某些操作之前,它不会设置为true

所以我需要一些Ajax函数才能获得这个会话变量.并且一些PHP函数示例在表单中获取变量,准备好让Ajax获取它.

所以我需要一些东西给AJAX请求一个动作(对于一些简单的PHP代码)将从中返回一个值$_SESSION.

怎么办这样的事情?

Mat*_*att 15

简单的jQuery示例:

var session;
$.ajaxSetup({cache: false})
$.get('getsession.php', function (data) {
    session = data;
});
Run Code Online (Sandbox Code Playgroud)

而且getsession.php:

<?php
session_start();
print json_encode($_SESSION);
Run Code Online (Sandbox Code Playgroud)

不需要为AJAX使用jQuery,但我强烈推荐它.

编辑:

回应:

我希望能够告诉我的JS函数我想得到什么变量.

你可以尝试这个(未经测试):

var session;
$.ajaxSetup({cache: false})
$.get('getsession.php', {requested: 'foo'}, function (data) {
    session = data;
});
Run Code Online (Sandbox Code Playgroud)

和PHP:

<?php
session_start();
if (isset($_GET['requested'])) {
    // return requested value
    print $_SESSION[$_GET['requested']];
} else {
    // nothing requested, so return all values
    print json_encode($_SESSION);
}
Run Code Online (Sandbox Code Playgroud)

查看$ .get文档以获取更详细的概述.