在javascript中访问codeigniter会话变量

时间:2012-03-23 15:23:46

标签: php javascript codeigniter

如何在javascript中访问codeigniter会话变量?如果我在普通php中创建会话变量并在javascript中访问它,它会给我结果但是在codeigniter会话变量的情况下它给我语法错误。

我使用以下代码来访问我的.js文件中的codeigniter会话变量

var m1  = "<?php echo json_encode($this->session->userdata('max_age')); ?>";

2 个答案:

答案 0 :(得分:4)

  

“我使用以下代码行来访问codeigniter会话变量   我的 .js文件   “


您不能将PHP代码放在.js文件中。它不会被解析。您必须将代码放在要从中调用.js文件的PHP文件中。

例如:

<script type="text/javascript">
var m1  = <?php echo json_encode($this->session->userdata('max_age')); ?>; 
</script>
<script type="text/javascript" src="script.js"></script>

答案 1 :(得分:0)

正如我在上面的评论中提到的,问题很可能是由一个空的php echo输出引起的。您在上面说过,您的echo语句周围没有引号。所以在你的代码中它看起来像这样:

var m1  = <?php echo json_encode($this->session->userdata('max_age')); ?>; 

如果您的php变量$this->session->userdata('max_age')为空,这可能会出现问题。因为如果是这种情况,json_encode将输出一个空字符串。请在浏览器中执行“查看源代码”,看看该行是否如下所示:

var m1  = ;

如果确实如此,您就找到了问题所在。以上内容无效,会导致语法错误。

相关问题