引用php会话变量解析为Javascript中的变量

时间:2013-04-12 13:57:28

标签: php javascript

我有以下javascript代码:

window.companyID=<?php echo $_SESSION['IDCompany']; ?>;
window.userID=<?php echo $_SESSION['IDUser']; ?>;
window.sLevel=<?php echo $_SESSION['SLevel']; ?>;

前两个解析为适当的值。但最后一个是javascript因为某些原因不喜欢做的事情。当页面加载时,控制台日志在我分配变量后立即给出了以下错误:

  

未捕获的ReferenceError:未定义S1。

“S1”是正确的值。然而,似乎javascript认为S1是一个变量,虽然我不知道。我试图强制JS将其视为一个字符串,但这不起作用。无论我做什么,分配的直接结果总是产生错误。

为什么这会发生在这个特定的会话变量而不是之前的两个?

的任何想法

2 个答案:

答案 0 :(得分:2)

由于它是一个字符串,您必须将值包装在引号中:

window.sLevel='<?php echo $_SESSION['SLevel']; ?>';
//            ^                                  ^

另外两个变量是ID,所以我猜它们只是数字(不必引用),所以你对它们很好。

答案 1 :(得分:2)

我想你的其他两个SESSION变量返回整数...你得到这个错误,因为你在这个中返回一个字符串,因此它应该在单引号之间:

window.sLevel='<?php echo $_SESSION['SLevel']; ?>';