最明显的问题是你的引号,它使变量成为 JavaScript 中的字符串,而不是具有数据结构的复杂对象。因此,对变量中属性等的任何引用都不起作用。应删除引号,以便将数据作为对象文字呈现到发出的 JavaScript 中。但是还有另一个重要的问题:如果这是在你所说的 .js 文件中完成的,那么 PHP 解释器没有在那里运行,所以 echo 将不起作用(引号或不引号),因为它不是由执行的PHP又变成了数据。您只会看到直接嵌入 JS 代码中的 PHP 代码。您必须将数据回显到 .php 文件中的脚本块中,然后调用 .js 文件中的适当函数并将数据作为参数传递。如果只需要一次数据,这将很好地工作。例如文件<?php$data = array[];$data = json_encode($raw_data);?><script src="someJsFile.js"></script><script>var data = <?php echo $data ?>; //inject the data into the JS as an object literalsomeFunc(data); //pass the data to a function in someJsFile.js</script>文件:function someFunc(data) { //your code to process the data}如果您需要在页面的生命周期内保持更新,那么您将需要 AJAX 才能从服务器请求新数据,如其他答案之一所建议的那样。