gpt4 book ai didi

javascript - 将 php 数组引入 javascript 出现意外结果

转载 作者:行者123 更新时间:2023-12-02 21:28:36 25 4
gpt4 key购买 nike

我一直在寻找遇到同样问题的人,但没有运气。这可能意味着我已经像以前没有人那样吐过鼻屎了。这不会让我感到惊讶。

无论如何,我正在尝试做一些我认为非常简单的事情:通过 php 获取服务器上列出 html 文件的数组,然后通过数组 javascript 在 iframe 中显示它们。 php代码如下:

<?php
$fileList = scandir('./slides');
$jsFileList = json_encode($fileList);
?>

创建数组变量的 JavaScript 是这样的:

var jsFileList = '<?php echo $jsFileList;?>';

现在,当我第一次尝试这个时,我没有使用 json_encode,我只是尝试接收原始的 $fileList 数组。这在 JavaScript 中生成了这个数组:

[0]: A
[1]: r
[2]: r
[3]: a
[4]: y

然后我想,“当然!它需要编码为 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);?>;

请注意,此处 JSON 值周围没有引号。已经逃脱了。

您应该始终检查生成的 HTML 源以确保它看起来有效。

关于javascript - 将 php 数组引入 javascript 出现意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60676179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com