Javascript PHP会话在第一次Ajax调用时为空

Javascript PHP会话在第一次Ajax调用时为空,javascript,php,jquery,ajax,session,Javascript,Php,Jquery,Ajax,Session,我有一个页面,有一些沉重的内容,需要大约1.5分钟才能完全加载。我添加了滚动检索数据功能,当用户滚动检索数据时,我调用ajax请求 我已将数据检索行为包装到一个函数handleEventsLoad(),并在加载时调用此函数,试图涵盖用户在页面完全加载到末尾之前滚动的情况: $(document).ready(function() { $(window).scroll(function() { handleEventsLoad(); });

我有一个页面,有一些沉重的内容,需要大约1.5分钟才能完全加载。我添加了滚动检索数据功能,当用户滚动检索数据时,我调用ajax请求

我已将数据检索行为包装到一个函数
handleEventsLoad()
,并在加载时调用此函数,试图涵盖用户在页面完全加载到末尾之前滚动的情况:

$(document).ready(function()
{
    $(window).scroll(function() 
    {
        handleEventsLoad();
    });     

    handleEventsLoad();
    
});
ajax
请求被正确调用,但是,第一次调用此请求时,我无法在
$\u session
中读取任何PHP级别的会话数据,因为我知道会话是在页面加载时设置的,如果我在HTML中打印它,我可以看到它的值

在第一次完全加载页面并刷新页面后,会调用相同的请求,但这次我可以正确读取会话数据,并且自动加载滚动功能会按预期运行(这里的区别是所有数据都已缓存,加载页面需要7秒)

加载过程是否与在ajax调用时读取会话有关?

下面是ajax的一个示例:

function handleEventsLoad()
{
    
    if($('#sidebar').length > 0 
     && $(window).scrollTop() >=  $('#sidebar').offset().top + $('#sidebar').outerHeight() - window.innerHeight) 
    {
            $.ajax({
                url: "ajaxUrl.php",
                type: 'GET',
                dataType: 'json',
                data: {/* passing some data */},
                success:function(data)
                {
                    
                    // some code here
                },
                
                error: function(xhr, status, error) 
                {
                  var err = eval("(" + xhr.responseText + ")");
                  console.log(err.Message);
                }
            });
    }
}
ajaxUrl.php

<?php
    session_start();
    print_r($_SESSION);
    return;
?>


更新

请在下面查找第一次和第二次ajax调用之间HTTP请求的差异:

请求:

第一个电话:

连接:保持活力

第二个电话:

Cookie:_ga=GA1.2.1253088293.1457289524_gat=1;PHPSESSID=79c38493322374f1bc19541f4c538b02

连接:保持活力

缓存控制:最大年龄=0

响应:

第一个电话:

设置Cookie:PHPSESSID=79c3849322374f1bc19541f4c538b02;expires=Mon, 2016年3月7日18:38:41格林尼治标准时间;路径=/;domain=www.mydomain.com;保护 HttpOnly PHPSESSID=79c3849322374f1bc19541f4c538b02;expires=Mon, 2016年3月7日18:38:41格林尼治标准时间;路径=/

第二个电话:

设置Cookie:PHPSESSID=79c3849322374f1bc19541f4c538b02;expires=2016年3月7日星期一18:40:06 GMT;路径=/


在初始页面加载时,会话中似乎没有任何内容。主页中有会话代码吗?我在页面加载上设置了一个虚拟会话值,只是为了测试会话['foo']='bar'我可以在以后打印会话时看到它,但不能在ajax调用中看到。@charlietfl我已经添加了Http请求和响应,这对您有什么影响吗?您是否也有会话_start();在主页顶部?听起来在初始页面加载时会话中没有任何内容。主页中有会话代码吗?我在页面加载上设置了一个虚拟会话值,只是为了测试会话['foo']='bar'我可以在以后打印会话时看到它,但不能在ajax调用中看到。@charlietfl我已经添加了Http请求和响应,这对您有什么影响吗?您是否也有会话_start();在你的主页上?