将php数组引入javascript的意外结果
我一直在四处寻找,想找到一个有同样问题的人,但运气不好。这可能意味着我以前没人喝过酒。我一点也不惊讶 无论如何,我正在尝试做一些我认为非常简单的事情:通过php在服务器上获取一个列出html文件的数组,然后通过数组javascript在iframe中显示它们。php代码如下所示:将php数组引入javascript的意外结果,javascript,php,arrays,Javascript,Php,Arrays,我一直在四处寻找,想找到一个有同样问题的人,但运气不好。这可能意味着我以前没人喝过酒。我一点也不惊讶 无论如何,我正在尝试做一些我认为非常简单的事情:通过php在服务器上获取一个列出html文件的数组,然后通过数组javascript在iframe中显示它们。php代码如下所示: <?php $fileList = scandir('./slides'); $jsFileList = json_encode($fileList); ?> 然后我想,“当然!它需要编码
<?php
$fileList = scandir('./slides');
$jsFileList = json_encode($fileList);
?>
然后我想,“当然!它需要编码为JSON数据。”但现在的结果是:
[0]: [
[1]: "
[2]: .
[3]: "
[4]: ,
[5]: "
[6]: .
[7]: .
[8]: "
[9]: ,
[10]: "
[11]: s
[12]: l
[13]: i
[14]: d
[15]: e
[16]: 0
[17]: 2
[18]: .
[19]: h
[20]: t
[21]: m
[22]: l
[23]: "
[24]: ]
JavaScript究竟为什么要用所有字符而不是PHP数组的三个元素创建一个数组?我希望JavaScript数组看起来像:
[0]: .
[1]: ..
[2]: slide02.html
这正是PHP数组的外观,但不是JavaScript数组。FWIW,我还尝试在php中使用json_parse(),但结果在JavaScript中没有显示任何内容,我尝试先将JavaScript变量声明为数组,但没有任何更改。有什么想法吗?你应该编写你的代码,这样就可以清楚地知道什么逃逸了,什么没有逃逸了,比如:
var jsFileList = <?php echo json_encode($fileList);?>;
var-jsFileList=;
请注意,JSON值周围没有引号。它已经逃走了
您应该始终检查生成的HTML源代码,以确保其看起来有效。您用于获取响应并将其解析为数组的JavaScript代码是什么?不要忘记使用JSON.parse(您的\u JSON\u字符串),否则JavaScript会将其作为字符串读取。好吧,就像我想的那样,我是个白痴。那些单引号不应该出现在那里。把它们拿出来,它就正常工作了。都是些小事,不是吗?非常感谢你的帮助!
[0]: .
[1]: ..
[2]: slide02.html
var jsFileList = <?php echo json_encode($fileList);?>;