Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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/1/php/255.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
将JSON编码的PHP数组解析为JavaScripts JSON.parse()时出现PHP或JavaScript问题_Javascript_Php_Mysql_Arrays_Json - Fatal编程技术网

将JSON编码的PHP数组解析为JavaScripts JSON.parse()时出现PHP或JavaScript问题

将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”-当我尝试滚动到

我目前正在为我的工作场所制作一个web应用程序,它一次从一个SQL表下载大约40000行数据,将数据放入嵌套的PHP数组,然后尝试回显JSON编码的数组,其中JavaScript变量应该捕获内容

如果我尝试将数据直接回送到标记中,它工作得很好——所有内容都以JSON编码字符串的格式完美地显示出来。但是,如果我尝试将数据回送到语音标记“”或“”之间的
标记中,它会在chrome中抛出一个错误,称为“Uncaught SyntaxError:Unexpected identifier”-当我尝试滚动到(非常长的)字符串的末尾时,它似乎已被截断,只有几千个字符

该字符串实际长度为1476075个字符

我该怎么做?我正在重新设计这个应用程序——它最初基本上是在遍历结果行的同时将javascript与SQL结果结合起来的,但这太慢了,太笨重了,所以我想到了一种更简单、更快捷的方法来将数据从PHP移动到javascript,那就是使用一个大的JSON编码字符串

如有任何建议,将不胜感激

json_encode()负责所有需要完成的引用/转义:

<?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.