如何在javascript中访问codeigniter会话变量?如果我在普通php中创建会话变量并在javascript中访问它,它会给我结果但是在codeigniter会话变量的情况下它给我语法错误。
我使用以下代码来访问我的.js文件中的codeigniter会话变量
var m1 = "<?php echo json_encode($this->session->userdata('max_age')); ?>";
答案 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 = ;
如果确实如此,您就找到了问题所在。以上内容无效,会导致语法错误。