JavaScript全局变量未定义问题
JavaScript global variable undefined issue
我对JavaScript有点陌生,并且一直有一个全局变量的问题。我有一个组id,它是我的php会话变量的一部分,我想把它放到JavaScript全局变量中,这样我就可以在JavaScript中访问这个值。但是JavaScript总是显示变量为undefined
,所以我一定是做错了什么。简而言之,我有以下代码:
<head>
<script type="text/javascript">var group = <?php echo($group)?>;</script>
</head>
<body>
<script type="text/javascript">
function clicked() {
alert(window.group);
}
</script>
当alert
窗口弹出时,它显示未定义,但我可以通过查看生成的源代码以及firebug来判断该值在某一点上被设置为变量。
我做错了什么?
这种问题的最佳解决方案是在将php变量打印为JS变量时始终调用json_encode
。在您的示例中,如果字符串包含换行符或引号
<script type="text/javascript">var group = <?php echo(json_encode($group)) ?>;</script>
use:
<script type="text/javascript">window.group = <?php echo($group)?>;</script>
如果<?php echo($group) ?>
的结果是字符串,那么您需要在script
源中加上引号,如下所示:
<script type="text/javascript">var group = '<?php echo($group)';</script>
您不需要使用window.group
来分配它,因为它已经是变量的上下文
相关文章:
- 如何消除代码中的未定义和其他问题
- 组件生命周期问题/无法处理未定义的问题
- JavaScript/jQuery JSON数组问题-值为未定义
- 使用Breeze脱机数据时出现未定义的问题不是函数
- 如何使用警报进行调试来解决(未定义的)时间问题
- SJCL的问题“;无法读取属性'替换'“未定义”;
- JSON JavaScript 未定义的变量问题
- 创建可在任何地方使用的 JS 函数?范围和功能“未定义”的问题
- 将 AJAX 传递给 PHP 时遇到问题,而是未定义
- 尝试添加到根父节点时出现 KendoUI 未定义节点问题
- 榆树早午餐编译问题:“拆分”未定义
- JavaScript,jquery中未定义的VAR的问题.如何
- D3 JS - 未捕获的类型错误:无法读取未定义的属性“长度” - 似乎与数据问题有关
- 范围问题/“未定义不是一个函数”
- jQuery实时问题-未定义不是函数
- Grunt动态变量问题(未定义)
- Google Chart IE9问题(未定义)
- Angular.js中的input[radio]问题未定义且未检查
- 可融合的自定义信息窗口;绑定问题-未定义的属性
- 猫鼬问题:未定义架构