我在PHP中定义了一个数组:
$outofstock = array ( 0, 0, 0, 0, 0, 0, 1, 0 );
$_SESSION['outofstock']=$outofstock;
字符串
我试着把它传递给一个JS脚本:
var outofstock = <?php echo json_encode($_SESSION['outofstock']); ?>;
型
我得到一个执行停止的错误:
未捕获的语法错误:意外的token '<' VM563 newhed14.39.js:1
同样的语句也适用于HTML文件中的另一个脚本。
我做错了什么?
谢谢你,谢谢
2条答案
按热度按时间cbjzeqam1#
您的文件名为
newhed14.39.js
这一事实表明,您正在将此特定文件作为.js文件静态提供,而不是通过PHP提供。这意味着PHP将不会运行-PHP命令将在文件中结束,因此显然会以语法错误结束。检查是否是这种情况很容易-只需在浏览器上打开开发人员控制台,并查看抛出错误的文件; PHP命令应该是可见的(如果PHP已经处理了文件,则不应该是可见的)。解决方案是将变量移动到
<script>
标记中的PHP脚本生成的动态输出中,并编辑JS以使用该变量(例如,通过让<script>
标记调用.js
文件中定义的函数)。x7rlezfr2#
原因是“PHP脚本不能在.js文件中运行”。你需要这样做:
在HTML文档中:
字符串
然后你可以像这样在js中访问这个数组:
型
通过这种方式,你可以在js中访问你的PHP数组。希望对你有帮助…