2013-11-27 47 views
0

我正在制作一张地图,我有一个巨大的数据集(接近400万条记录),所以我将它存储在一个mysql数据库中,并且仅查询我真正需要的数据制作地图。
我有一个pend.php文件JSON格式返回数据,我想在D3d3从mysql数据库导入数据返回“undefined”

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); 
?> 

而且outputed JSON的示例:

[{'id':'1001','des':'1001','n':'469'},{'id':'1001','des':'1004','n':'1'},... 

上什么错误任何想法?
感谢
丹尼尔

+0

运行JavaScript的URL是什么?它是否来自一个文件,它旁边有一个名为'data'的目录,在目录中有'pend.php'? – Bubbles

+0

我正在用mamp在当地工作。 url就像这样:http:// localhost:8888/prin/ita_pop_pend.html,pend.php位于prin/data /文件夹中。我从同一个“数据”文件夹中调用其他json没有任何问题。谢谢你的回答 – danipen

+0

嗯,不好意思,但那会杀死我的想法。我可以推荐的唯一东西(你可能已经知道它)是在浏览器的开发工具中挖掘网络信息,看看是否有什么有趣的东西出现。 – Bubbles

回答

0

解决....
我使用单引号(而不是配音报价)来包装JSON的字符串!

0

我认为参数“错误”是在功能无效,请尝试使用:

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"); 
})