2013-05-12 67 views
2

我创建了一个PHP文件来查询JSON输出。从PHP文件输出JSON特定滤镜“testPHP.php?数= 123”是使用d3.json从PHP输出JSON

[{"source":"AB","target":"AC","type":"true"},{"source":"UB","target":"EP","type":"true"},{"source":"US","target":"UR","type":"lie"},{"source":"BS","target":"QW","type":"lie"},{"source":"UW","target":"EA","type":"lie"}] 

我在HTML文件中尝试过这种读取JSON输出变量

var links; // a global 
d3.json("testPHP.php?number=123", function(error, json) { 
    if (error) return console.warn(error); 
    links = json; 
}); 

联系,但,似乎数据不存储在链接中。 如何将数据存储在var links

基本上,我想用这个https://gist.github.com/mbostock/1153292中的var links替换为PHP的JSON输出。编辑: 或http://localhost:8080是造成这个问题?

+0

您的JSON无效。你如何生产这个JSON?数组中的最后一个对象缺少一个引号。 – Brad 2013-05-12 21:33:46

+0

错字错误。现在改变了。 – Zero 2013-05-12 21:50:01

回答

2

d3.json调用是异步的;在“链接”变量填充之前执行回调后包含的代码。

var links; // a global 
d3.json("testPHP.php?number=123", function(error, json) { 
    if (error) return console.warn(error); 
    links = json; 

    console.log(links); // your links are populated here 

    // include the rest of your app here 
}); 

// links is still undefined here because the success callback hasn't been run yet 
-1

你需要写links = [{"source":"AB","target":"AC","type":"true"},{"source":"UB","target":"EP","type":"true"},{"source":"US","target":"UR","type":"lie"},{"source":"BS","target":"QW","type":"lie"},{"source":"UW,"target":"EA","type":"lie"}]

此时链接将持有该信息。你可能想要考虑一个数组。

+0

我需要使用php文件的json输出! – Zero 2013-05-12 21:46:11