PHP通过AJAX更新SESSION或COOKIE


PHP updating SESSION or COOKIE via AJAX

我试图通过对同一域上的页面的AJAX调用来更新会话或cookie,但我一直得到奇怪的结果。页面一刷新,就创建了一个新会话,而我希望旧会话保持不变。

从index.php:调用的AJAX

$.ajax({
        type: 'POST',
        url: '/api/cart.php?function=GetCart',
        dataType: 'json',
        async: false,
        data: {
            json: true
        },
        success: function(cart) {
            window.console.log(cart);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {}
});

cart.PHP中的PHP:

var_dump($_SESSION["test"]);
print("'n");
print("'n");
$_SESSION["test"] = rand(1, 999);
print("'n");
print("'n");
var_dump($_SESSION["test"]);
die();

第一次刷新:

<b>Notice</b>:  Undefined index: test in <b>cart.php</b> on line <b>xxx</b><br />
NULL
int(154)

第二次刷新:

<b>Notice</b>:  Undefined index: test in <b>cart.php</b> on line <b>xxx</b><br />
NULL
int(981)

php默认维护ajax调用上的会话,使用fn:isset()/pempty()检查ajax调用的会话。如果会话过期,请再次登录。第二个选项是,您可以增加会话超时时间。如何在php中更改会话超时