Php AJAX调用在Symfony中创建新会话
我有一个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:
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
: