这行代码var $sTest = <?php echo $a = $_GET['ID']?>
返回“未捕获的引用错误:..未定义。”
对于这个问题,如果我们假设我传递的是“ABC”的ID。当我在Chrome中使用开发人员工具并检查资源时,我可以看到$ _GET 已经有效,因为它显示了变量值。在这种情况下的错误消息是“未捕获的引用错误:ABC未定义。”
我无法弄清楚如何将php变量分配给脚本var。帮助赞赏。
答案 0 :(得分:4)
这是因为你必须引用你的php脚本的输出:
var $sTest = <?php echo $a = $_GET['ID']?>
将成为
var $sTest = something;
在您的Javascript环境中,something
未定义。如果你想保留尽可能多的类型信息,你应该在php端使用json_encode,如下所示:
var $sTest = <?php print json_encode($_GET['ID']);?>;
答案 1 :(得分:0)
查看浏览器中最终生成的源代码。你错过了作业的引号:
var $sTest = "<?php echo $a = $_GET['ID']?>";
您还应该将htmlspecialchars()
应用于字符串以防止XSS攻击并打破字符串:
var $sTest = "<?php echo $a = htmlspecialchars($_GET['ID']);?>";
答案 2 :(得分:0)
尝试回显$ _GET而不将其分配给$ a。
var $sTest = <?php echo $_GET['ID']?>