繁体   English   中英

PHP会话在Ajax调用中为null

[英]PHP Sessions null in an ajax call

我有一个设置一些会话值的PHP页面:

session_start();
$_SESSION["key"] = "myvalue";

设置了该值,如果我在浏览器中打开文件sessions.php的新选项卡,则会看到先前设置的值。

<?php
    if(!session_id()) {    // check if we have session_start() called
        session_start(); 
        echo  "<br />session start"; 
    }

    if (!isset($_SESSION["key"]) ) {
        echo  "<br />session null"; 
    } else {
        echo "ok my session" . $_SESSION["key"] ; 
    }   
?>

如果我从另一页打开同一文件,则通过AJAX在同一选项卡中的同一域中的同一文件夹中,我的会话为空。

$.ajax({
    type: "POST",   
    url: "/php/sessions.php",
    cache: false,
    error: function (XMLHttpRequest, textStatus, errorThrown) {}
}).done(function(msg) {
    alert(msg) // I get session null
});

编辑:我正在使用IIS的php-5.6.10-nts-Win32-VC11-x64

EDIT2:我意识到进行Ajax调用的中间页面位于同一域中。 所以这就是为什么我的会话为空

您显然忘了回音

session_start();
$_SESSION["key"] = "myvalue";
echo $_SESSION["key"];

所以你的文件有一些输出到ajax

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM