0

我有以下 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 将其视为字符串,但没有奏效。无论我做什么,分配的直接结果总是会产生错误。

任何想法为什么这会发生在这个特定的会话变量而不是前两个变量上?

4

2 回答 2

2

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

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

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

于 2013-04-12T13:58:37.987 回答
2

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

window.sLevel='<?php echo $_SESSION['SLevel']; ?>';
于 2013-04-12T13:59:32.073 回答