Symfony,jQuery.ajax()调用,会话变量丢失

pko*_*out 5 ajax session jquery symfony1

我正在使用Symfony 1.3编写一个Web应用程序.在通过jQuery $.ajax()调用调用动作后,我的会话变量出现问题.事情按此顺序发生:

  1. 动作设置会话变量如下:

    $this->getUser()->setAttribute('uploaded-files', $uploadedFiles);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后,当操作调用视图组件时,生成的HTML页面包含以下调用:

    $.ajax({
      type: "POST",
      url: '<?php echo url_for("content/merge"); ?>',
      cache: false,
      success: mergingCompleteCallback
    });
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我点击触发上述ajax调用的按钮.该调用执行相应的操作方法,但是当我打印出'uploaded-files'会话变量的内容时,它是空的.

    我还检查了对设置变量的页面的调用和读取变量的页面(ajax调用)之间的会话ID是否保持相同,并且会话ID没有改变.我在网上搜索了几个小时,但我无法找到解决方案.

Ara*_*azu 1

您还可以将会话值添加到调用本身,这样您就不必在 AJAX 调用中获取它。它有点hacky,但它会起作用。

您在开发栏中看到会话变量了吗?也许是缓存的问题,我以前也遇到过这样的缓存问题。