我有以下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将其视为一个字符串,但这不起作用。无论我做什么,分配的直接结果总是产生错误。
为什么这会发生在这个特定的会话变量而不是之前的两个?
的任何想法答案 0 :(得分:2)
由于它是一个字符串,您必须将值包装在引号中:
window.sLevel='<?php echo $_SESSION['SLevel']; ?>';
// ^ ^
另外两个变量是ID,所以我猜它们只是数字(不必引用),所以你对它们很好。
答案 1 :(得分:2)
我想你的其他两个SESSION变量返回整数...你得到这个错误,因为你在这个中返回一个字符串,因此它应该在单引号之间:
window.sLevel='<?php echo $_SESSION['SLevel']; ?>';