Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
使用php json_编码javascript中接收的数据以使用chart.js库显示图形时遇到的困难_Javascript_Php_Json_Chart.js - Fatal编程技术网

使用php json_编码javascript中接收的数据以使用chart.js库显示图形时遇到的困难

使用php json_编码javascript中接收的数据以使用chart.js库显示图形时遇到的困难,javascript,php,json,chart.js,Javascript,Php,Json,Chart.js,我正在尝试使用chart.js javascript库显示一个图形。我用PHP代码从数据库中获取数据,并通过使用json_encode方法从PHP中获取js var将其发送到javascript。数据实际上是表格“湿度”和“温度”的两个字段。在接收到js中的数据后,当我尝试从接收到的js对象获取“湿度”和“温度”值时,我得到了TypeError:jData在hum=jData.湿度行未定义;其中jData是从PHP中的脚本接收数据的js函数中的参数 在获取值之前,我尝试解析jData以将其转换为

我正在尝试使用chart.js javascript库显示一个图形。我用PHP代码从数据库中获取数据,并通过使用json_encode方法从PHP中获取js var将其发送到javascript。数据实际上是表格“湿度”和“温度”的两个字段。在接收到js中的数据后,当我尝试从接收到的js对象获取“湿度”和“温度”值时,我得到了TypeError:jData在hum=jData.湿度行未定义;其中jData是从PHP中的脚本接收数据的js函数中的参数

在获取值之前,我尝试解析jData以将其转换为js对象,但随后在第wData=JSON.parsejData;行收到SyntaxError:JSON.parse:unexpected字符;。很少有帖子会出现同样的错误,告诉我不应该使用解析,因为jData已经是js对象形式了

这是我的密码:

php代码:

 foreach($stmt->fetchAll() as $k=>$v) {       
      $WData[] = $v;
    }
    ?>

    <script>
      var WData = <?php echo json_encode($WData);?>;
      console.log(WData);
      dspChrt(WData);
    </script>

根据我以前在JS中呈现PHP json数据的经验,我可以将其呈现为字符串,然后对其进行解析。像这样的

var WData = "'"+<?php echo json_encode($WData);?>+"'";
 jData= JSON.parse(wData); 

如果在解析之前执行console.logjData,那么在控制台中会得到什么?或者我猜在你的例子中是console.logWData;将是sameit以以下形式显示数组数据:11811[…]​[0…999] ​​[0…99] ​​​0:Object{湿度:77.7,温度:22.1}所以它已经是一个对象了,不需要做JSON.parse。如果在dspChrt函数中执行console.logjData,您会得到相同的输出吗?无论我是登录php脚本部分还是dspjData函数,我都会得到相同的结果,但随后它显示TypeError:jData未定义,如我在opc中所述。您能帮助我理解如何将其放入代码中吗。我所理解的是替换var WData=;使用var WData='+';在php代码中。而关于jData=JSON.parsewData。你的意思是我在dspchrtwData中接收到jData之后解析它吗?我使用了我提到的方式&我在解析时得到了与之前相同的错误,即:SyntaxError:JSON.parse:JSON数据第1列第1行的意外字符
var WData = "'"+<?php echo json_encode($WData);?>+"'";
 jData= JSON.parse(wData);