JQuery重定向后,会话变量是空的

时间:2016-11-16 17:55:44

标签: javascript php jquery session redirect

  1. 我有一个使用JQuery验证然后提交给自己的表单 (页面A)使用JQuery。提交由PHP检测 脚本。 (这很有效)
  2. 提交后,JQuery脚本重定向到另一个页面(页面 B)。
  3. 另一页使用存储在会话变量中的值 上一页从数据库中检索数据。
  4. 一切都很好问题是会话变量在重定向时为空!我尝试了各种不同的东西,但没有用。我不知道我做错了什么导致会话被清空。我怀疑问题出在重定向到B页的JQuery上。

    页面JQuery和会话代码

        <?php
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        if(isset($_REQUEST['fs'])){
    
        $randval =  substr(md5(microtime()),rand(0,26),5);
        session_start();
        $_SESSION['rref'] = $randval;
        //some other code that works fine
        }}
        ?>
    
        <form method="REQUEST" id="form" name="form" class="aj">
          //some fields and codes
          <input type="hidden" name="fs" value="fs" id="fs" >
          <input type="submit" value="Reserve" id="btn-form-valid" style="text-align: center; font-weight: bold;" onclick="jQuery('.aj').parsley('validate');">
        </form>
    
        <script>
          jQuery(function() {
            jQuery('.aj').submit(function(e) {
              e.preventDefault();
              if ( jQuery(this).parsley().isValid() ) {
                jQuery.ajax({
                  type: "post",
                  data: jQuery(".aj").serialize(),
                  success: function (data) {
                    window.location.assign("http://location");
                  }
                  ,
                  beforeSend: function() {
                  }
                }
               });
              });
        </script>
    

    第B页代码

        <?php
    session_start();
        $x = $_SESSION['rref'];
        echo $x;
    //nothing is returned
    ?>
    

    我试图寻找有类似问题但没什么用处的人。

1 个答案:

答案 0 :(得分:0)

尝试将session_start放在开头:

<?php
session_start();
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    if(isset($_REQUEST['fs'])){

        $randval =  substr(md5(microtime()),rand(0,26),5);

        $_SESSION['rref'] = $randval;
        //some other code that works fine
    }
}
?>