【问题标题】:Codeigniter own library is not reading session values on first time page loadCodeigniter 自己的库在第一次页面加载时不读取会话值
【发布时间】:2013-12-11 12:46:05
【问题描述】:

我正在尝试使用 ajax 将客户端 javascript 值分配给 php 会话。

以下是客户端代码,

<script type="text/javascript">
     var timeZone = 'Asia/Kolkata';
        $.ajax({
        url: '<?php echo base_url();?>index.php/schedule/setLocalTimeZone',
        type: 'POST',
            data: {
            timeZone: timeZone,
            },
        cache: true,
        success: function(response) {   
            //alert(response)
            }       
        }); 

      });
</script>

以下是我的控制器代码,

function setLocalTimeZone(){
    $tz = $_REQUEST['timeZone'];

    $this->session->set_userdata('TIMEZONE',$tz);


}

在控制器中,我将时区值设置为 php session,然后我尝试在我自己的代码点火器库中使用此会话值

类时区{

function getTimeZone(){

    $CI =& get_instance();
    $CI->load->library('session');
//here i'm trying to get "TIMEZONE" value from session but i couldnt get at first time when irefresh the page i can get the TIMEZONE value from session 
       $user_tz = $CI->session->userdata('TIMEZONE');

    return $user_tz;
    }

}

然后我在视图页面中调用这个库函数,所以第一次加载页面时它没有给出任何值,而我只刷新它的给定值。

echo $Timezone = $this->timezone->getTimeZone();

所以我不知道问题出在哪里。 codeigniter 外部库是否不会读取我们第一次通过 ajax 调用设置的会话值?

提前谢谢你, Dhinesh.B

【问题讨论】:

  • 您在第一次刷新页面时获得值?
  • ya 在 javascript console.log 中我得到了价值,但来自库“echo $Timezone = $this->timezone->getTimeZone();”我没有得到价值。第二次如果我刷新我在 js 和 php 中都获得了价值。

标签: javascript php ajax codeigniter session-variables


【解决方案1】:

不是一个完美的解决方案,但尝试在第一次加载页面时重新加载一次。 这可能很有用。

使用 javascript 重新加载页面一次。

    <script type='text/javascript'>
    (function()
    {
      if( window.localStorage )
      {
        if( !localStorage.getItem( 'firstLoad' ) )
        {
          localStorage[ 'firstLoad' ] = true;
          window.location.reload();
        }  
        else
          localStorage.removeItem( 'firstLoad' );
      }
    })();

    </script>

【讨论】:

  • 不确定,但 jquery 总是采用第一次页面加载时的值。在 ajax 任务之后,我们得到了完美的值,但是 jquery 只在我们重新加载页面时才获取新值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 2021-11-09
相关资源
最近更新 更多