Php AJAX调用在Symfony中创建新会话

Php AJAX调用在Symfony中创建新会话,php,ajax,symfony,session,Php,Ajax,Symfony,Session,我有一个Symfony应用程序。我正在使用request->getSession()->set(key,value)将会话的一些信息保存在其中 如果我通过客户端AJAX调用调用一个操作,我就无法访问我先前保存的会话变量。看起来AJAX调用为我生成了一个全新的会话(新的会话id,与主流程中的会话id相比) 我在config.yml中有以下设置: session: cookie_lifetime: 3600 cookie_httponly:

我有一个Symfony应用程序。我正在使用
request->getSession()->set(key,value)
将会话的一些信息保存在其中

如果我通过客户端AJAX调用调用一个操作,我就无法访问我先前保存的会话变量。看起来AJAX调用为我生成了一个全新的会话(新的会话id,与主流程中的会话id相比)

我在
config.yml
中有以下设置:

session:         
    cookie_lifetime:         3600
    cookie_httponly:         false
奇怪的是,在localhost上,我通过AJAX获得了相同的sessionId(因此在localhost上一切正常)。在我将其部署到Web服务器上之后,问题开始出现


请告知。如果您通过Ajax从控制器调用操作,请感谢?您指的是服务器端Ajax调用?这有点奇怪。假设这样做,服务器没有相同的会话,但它将创建一个与用户及其会话无关的新会话

我认为你应该使用控制器的
前进
方法。看


或者将要调用的方法移动到它自己的类中,并为此配置服务:

对不起,如果我的描述不够清楚的话。我的意思是,我只是使用客户端AJAX调用从Symfony应用程序调用一个方法。例如$.ajax({type:“POST”,url:'cart/add/'+id});这应该行得通,我们一直都这么做。您的会话cookie可能是
httponly