Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php会话变量在Javascript中解析为变量的引用_Php_Javascript - Fatal编程技术网

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

php会话变量在Javascript中解析为变量的引用,php,javascript,Php,Javascript,我有以下javascript代码: window.companyID=<?php echo $_SESSION['IDCompany']; ?>; window.userID=<?php echo $_SESSION['IDUser']; ?>; window.sLevel=<?php echo $_SESSION['SLevel']; ?>; window.companyID=; userID=; window.sLevel=; 前两种方法将解析为适当的

我有以下javascript代码:

window.companyID=<?php echo $_SESSION['IDCompany']; ?>;
window.userID=<?php echo $_SESSION['IDUser']; ?>;
window.sLevel=<?php echo $_SESSION['SLevel']; ?>;
window.companyID=;
userID=;
window.sLevel=;
前两种方法将解析为适当的值。但最后一个是出于某种原因做javascript不喜欢的事情。当页面加载时,控制台日志在我分配变量后立即显示以下错误:

未捕获引用错误:未定义S1

“S1”是正确的值。然而,javascript似乎认为S1是一个变量,尽管我不知道。我试图强迫JS将其视为字符串,但没有成功。无论我做什么,赋值的直接结果总是产生错误


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

因为它是一个字符串,所以你必须用引号括起该值:

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

另外两个变量是ID,所以我猜它们只是数字(不必加引号),所以您可以很好地使用它们。

因为它是一个字符串,所以您必须将值用引号括起来:

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

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

我想您的另外两个会话变量返回整数。。。出现此错误是因为您在其中返回一个字符串,因此它应该位于单引号之间:

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

我想您的其他两个会话变量返回整数。。。出现此错误是因为您在其中返回一个字符串,因此它应该位于单引号之间:

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

查看生成的HTML/JavaScript,您将看到问题所在。查看生成的HTML/JavaScript,您将看到问题所在。您解决了问题。我知道这会是一件小而愚蠢的事情。谢谢你搞定了。我知道这会是一件小而愚蠢的事情。谢谢