在302重定向后,保持Ajax调用到另一个域之间的会话

时间:2019-01-31 19:07:54

标签: php jquery ajax session redirect

我正在尝试使以下简化的设置起作用:

https://www.primarydomain.com上:

$.get('https://www.secondarydomain.com/testCORsWithSession.php', function (data) {
    console.log(data);
});

https://www.secondarydomain.com/testCORsWithSession.php上:

<?php
session_start();
header("Access-Control-Allow-Origin: *");
if (isset($_GET['redirect'])) {
    if (isset($_SESSION['Test'])) print "It worked";
    else print "It failed :(";
}
else {
    $_SESSION['Test']=true;
    header("Location: /testCORsWithSession.php?redirect=1");
}
?>

我希望在控制台中看到“它起作用”,但是在302重定向之后,它似乎并没有保留会话,而我只得到失败的响应。在控制台中查看,我看到响应以不同的会话ID返回(在每个呼叫的响应窗口的cookie选项卡下)

我该如何使用它?

请注意,在实际的应用程序中,我没有*作为允许的来源,这是一个简化得多的示例,有助于确定重定向后如何保持相同的会话。

em>

0 个答案:

没有答案