我正在使用 Symfony 1.3 编写一个 Web 应用程序。在通过 jQuery 的 $.ajax()
调用调用操作后,我遇到 session 变量丢失的问题。事情按以下顺序发生:
操作设置 session 变量如下:
$this->getUser()->setAttribute('uploaded-files', $uploadedFiles);
然后,当操作调用 View 组件时,生成的 HTML 页面包含以下调用:
$.ajax({ type: "POST", url: '<?php echo url_for("content/merge"); ?>', cache: false, success: mergingCompleteCallback });
我单击触发上述 ajax 调用的按钮。该调用执行相应的操作方法,但是当我打印出“uploaded-files” session 变量的内容时,它是空的。
我还检查了设置变量的页面的调用和读取变量的页面(ajax 调用)之间的 session ID 是否保持不变,并且 session ID 没有更改。我在网上搜索了几个小时,但找不到解决方案。
最佳答案
我遇到了类似的问题,问题是我使用主机值来存储带有“www”的 cookie,即 www.mydomain.com,并且我在没有“www”的情况下发出 Ajax 请求
解决方案是使用类似主机的通配符。 像 .mydomain.com 作为您的主机,在浏览器端存储 session cookie。
只要确保您不是这件事的受害者?
关于jquery - Symfony、jQuery.ajax() 调用、 session 变量丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232701/