无法在javascript中访问PHP数组,初始化为数组的javascript对象在chrome开发者工具中最终为空

无法在javascript中访问PHP数组,初始化为数组的javascript对象在chrome开发者工具中最终为空,php,javascript,html,json,Php,Javascript,Html,Json,我正在尝试从PHP数组中获取JSON,这样我就可以将JSON覆盖到google图表上。所以我试图通过在test.php文件中使用这个简单的代码来实现这一点 <?php include("conn.php"); ?> <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <script type="text/

我正在尝试从PHP数组中获取JSON,这样我就可以将JSON覆盖到google图表上。所以我试图通过在test.php文件中使用这个简单的代码来实现这一点

<?php 
  include("conn.php");
?>

<!DOCTYPE html>
<html>
<head>
  <title>test</title>
</head>
<body>

<script type="text/javascript">
  document.onload = function (){
    var jsonObj = <?php echo json_encode($rowarr, JSON_FORCE_OBJECT); ?>;
    var jsonString = JSON.stringify(jsonObj, null, '\n');
    console.log(jsonString);
  };

</script>
</body>
</html>
但是在chrome开发者工具中,我看到这段代码看起来像

document.onload = function (){
var jsonObj = ;
    // Chrome error here -> Uncaught SyntaxError: Unexpected token ;
var jsonString = JSON.stringify(jsonObj, null, '\n');
jsonObj变量为空,但其中应该有内容

在CDT控制台上,我得到

未捕获的语法错误:意外标记


在test.php文件的第11行,我昨天遇到了这种情况

<?php 
  include("conn.php");
?>

<!DOCTYPE html>
<html>
<head>
  <title>test</title>
</head>
<body>

<script type="text/javascript">
  document.onload = function (){
    var jsonObj = <?php echo json_encode($rowarr, JSON_FORCE_OBJECT); ?>;
    var jsonString = JSON.stringify(jsonObj, null, '\n');
    console.log(jsonString);
  };

</script>
</body>
</html>
<script type="text/javascript">
  document.onload = function (){
    var jsonObj = <?php echo json_encode($rowarr); ?>;
    var jsonString = JSON.parse(jsonObj);
    console.log(jsonString);
  };

</script>

document.onload=函数(){
var jsonObj=;
var jsonString=JSON.parse(jsonObj);
log(jsonString);
};

Chrome somtimes无法正确显示可处理数组和XML,但它们确实存在。
我的建议是:在其他浏览器上获得实际结果之前,不要在chrome上测试你的代码。

在我看来,$rowarr并不包含你认为它包含的内容。也许先把它记录下来

console.log("$rowarr");

你说得对

首先,您可以去掉附带的document.onload,因为它毫无意义

其次,这是修改后的代码:

var jsonStringified = <?php echo json_encode($rowarr); ?>,
    jsonObject = JSON.parse(jsonStringified);

console.log(jsonObject);
var jsonstringfied=,
jsonObject=JSON.parse(jsonstringfied);
log(jsonObject);

请发布conn.php的内容。您是否确保
$rowarr
不为空且不可访问?@Biotox-我已使用print\r($rowarr)在浏览器中检查了该文件,它输出了我上面所写的正确值。您想将解析后的JSON存储在哪里?在网格中?我试图将JSON输入到google图表数据表中,以覆盖在地理图表上。我使用了你的解决方案,我在jsonObj中得到了这个-
{“奥克兰”:37616,“惠灵顿”:35357,“基督城”:29818}
。但是控制台上没有任何记录。我已经检查过了。它确实包含了它需要包含的内容。但是,我必须这样做才能让它显示在源代码console.log(“”)中;。控制台中有一个
未捕获的SyntaxError:意外标记非法
,但resources选项卡显示了具有预期数组的源。