我做了很多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