将JSON编码的PHP数组解析为JavaScripts JSON.parse()时出现PHP或JavaScript问题
我目前正在为我的工作场所制作一个web应用程序,它一次从一个SQL表下载大约40000行数据,将数据放入嵌套的PHP数组,然后尝试回显JSON编码的数组,其中JavaScript变量应该捕获内容 如果我尝试将数据直接回送到标记中,它工作得很好——所有内容都以JSON编码字符串的格式完美地显示出来。但是,如果我尝试将数据回送到语音标记“”或“”之间的将JSON编码的PHP数组解析为JavaScripts JSON.parse()时出现PHP或JavaScript问题,javascript,php,mysql,arrays,json,Javascript,Php,Mysql,Arrays,Json,我目前正在为我的工作场所制作一个web应用程序,它一次从一个SQL表下载大约40000行数据,将数据放入嵌套的PHP数组,然后尝试回显JSON编码的数组,其中JavaScript变量应该捕获内容 如果我尝试将数据直接回送到标记中,它工作得很好——所有内容都以JSON编码字符串的格式完美地显示出来。但是,如果我尝试将数据回送到语音标记“”或“”之间的标记中,它会在chrome中抛出一个错误,称为“Uncaught SyntaxError:Unexpected identifier”-当我尝试滚动到
标记中,它会在chrome中抛出一个错误,称为“Uncaught SyntaxError:Unexpected identifier”-当我尝试滚动到(非常长的)字符串的末尾时,它似乎已被截断,只有几千个字符
该字符串实际长度为1476075个字符
我该怎么做?我正在重新设计这个应用程序——它最初基本上是在遍历结果行的同时将javascript与SQL结果结合起来的,但这太慢了,太笨重了,所以我想到了一种更简单、更快捷的方法来将数据从PHP移动到javascript,那就是使用一个大的JSON编码字符串
如有任何建议,将不胜感激
- 丹
<?php
$foo = 'this is a simple string';
?>
<script>
var foo = "<?php echo json_encode($foo); ?>"; // incorrect
var bar = <?php echo json_encode($foo); ?>; // correct
如果它是JSON编码的,则不需要引号。只需将它直接放入
标记中的JavaScript代码中。我将它传递到JSON.parse()-我非常确定它需要用引号进行封装。无需将其传递到JSON.parse()
,这就是要点-JSON语法是有效的JavaScript语法。这就是JSON中的J所代表的。我如何捕获它所在的数组?我现在明白了,谢谢。我现在只使用了几个月的JavaScript,但我应该知道这一点。非常感谢大家!
var foo = ""this is a simple string"";
^--- your quote
^---the quote json_encode added
var bar = "this is a simple string"; // all-ok here.