如何访问javascript中的codeigniter会话变量?如果我在纯php中创建会话变量并用javascript访问它,它会给我结果,但在使用代码点火器会话变量的情况下,它会给出语法错误。
我使用以下行代码访问我的.js文件中的codeigniter会话变量
var m1 = "<?php echo json_encode($this->session->userdata('max_age')); ?>";
"我使用以下行代码访问中的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>
正如我在上面的评论中提到的,这个问题很可能是由空的php echo输出引起的。你在上面说过,你的回应声明中没有引号。所以在你的代码中,它看起来像这样:
var m1 = <?php echo json_encode($this->session->userdata('max_age')); ?>;
如果php变量$this->session->userdata('max_age')
为空,这可能是个问题。因为如果是这种情况,json_encode将输出一个空字符串。请在浏览器中做一个"查看源代码",看看这行是否像这样:
var m1 = ;
如果是这样,你就发现了你的问题。以上内容无效,会导致语法错误。