访问javascript中的代码点火器会话变量


Accessing codeigniter session variables inside javascript

如何访问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  = ;

如果是这样,你就发现了你的问题。以上内容无效,会导致语法错误。