我正在制作一张地图,我有一个巨大的数据集(差不多有400万条记录),所以我将它存储在一个mysql数据库中,我只查询我真正需要制作地图的数据。
我有一个pend.php文件,以json格式返回数据,我想在d3中使用它
d3.json("data/pend.php", function(error, data) {
console.log(data);
})
但我只是“未定义” 如果我直接在浏览器中运行pend.php,我会正确格式化json。这里是pend.php代码:
<?php
$con=mysqli_connect('localhost', 'root', 'root', 'commuting');
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con, "SELECT ComResId,ComLavId,NumSum
FROM itaSmall");
$number = mysqli_num_rows($result);
$i = 1;
echo "[";
while($row=mysqli_fetch_array($result))
{
echo "{'id':'" . $row['ComResId'] . "','des'" . $row['ComLavId'] . "','n':'" . $row['NumSum'] . "'}";
if ($i < $number)
{
echo ',';
}
$i ++;
}
echo "]";
mysqli_close($con);
?>
以及json的样本:
[{'id':'1001','des':'1001','n':'469'},{'id':'1001','des':'1004','n':'1'},...
知道出了什么问题吗?
感谢
丹尼尔
答案 0 :(得分:0)
我认为参数“error”在该函数中无效,请尝试:
d3.json("data/pend.php", function(data) {
console.log(data);
})
如果您需要获取错误功能,请尝试:
d3.json("data/pend.php", function(data) {
console.log(data);
}).fail(function() {
console.log( "error" );
})
OR:
d3.json("data/pend.php", function(data) {
console.log(data);
}).error(function() {
console.log( "error" );
})
答案 1 :(得分:0)
解决....
我使用单引号(而不是双引号)将字符串换入json !!!