我做了很多R & D,在stackoverflow和其他网站上也尝试了很多问题,但无法理解我做错了什么。如果能帮我指出我错在哪里,我会非常感激。D3从JSON数据总是返回undefined
如果代码在响应之前跳过,但不使用,也尝试过。 Returning array from d3.json()
D3代码
<!DOCTYPE html>
<meta charset="utf-8">
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
d3.json("chart_data.php", function(error, data){
json_Data = data;
console.log("Error:"+error);
console.log(json_Data);
});
</script>
</body>
</html>
控制台误差
Error:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
控制台数据是
undefined
如果我运行PHP文件直接在浏览器中我得到:
[{"value":"1","date":"2016-03-29"},{"value":"0","date":"2016-03-30"},{"value":"3","date":"2016-03-31"},{"value":"2","date":"2016-04-01"},{"value":"2","date":"2016-04-02"},{"value":"5","date":"2016-04-03"},{"value":"1","date":"2016-04-04"},{"value":"1","date":"2016-04-05"},{"value":"0","date":"2016-04-06"}]
这是我的PHP
<?php
require 'db_connection.php';
$sql = "SELECT `y-axis` as value, `x-axis` as date FROM site_data";
$result = $con->query($sql);
$data = array();
if ($result->num_rows > 0) {
$count = 0;
while($row = $result->fetch_assoc()) {
$data[$count]['value'] = $row['value'];
$data[$count]['date'] = $row['date'];
$count++;
}
}
echo json_encode($data);
$con->close();
?>
数据库连接文件
<?php
$con = mysqli_connect("localhost","root","","analytic");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
PHP文件和D3文件在sa上我的目录。
您发布的内容没有任何问题。我猜测还有别的东西没有发布。 –
除了这一切,只有db_connection文件。这就是为什么我也感到困惑,无处不在的代码是相同的为什么不为我运行 –
为什么你想通过一个PHP文件作为参数传递给d3.json()? – Keven