Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google图表从PHP Ajax添加数据_Javascript_Php_Jquery_Ajax_Google Visualization - Fatal编程技术网

Javascript Google图表从PHP Ajax添加数据

Javascript Google图表从PHP Ajax添加数据,javascript,php,jquery,ajax,google-visualization,Javascript,Php,Jquery,Ajax,Google Visualization,我正在尝试使用PHP和ajax生成google图表 我的php文件返回的值如下 ["India":149,"United States":1375,"Taiwan":22,"Latvia":1,"New Zealand":2,"Argentina":1,"Namibia":4,"Ghana":4,"Mauritania":1,"Sudan":3,"Kazakhstan":2,"Nigeria":3,"Kenya":2,"FYROM":1,"Nepal":4}] 进入vribale 杰森达 我试

我正在尝试使用PHP和ajax生成google图表

我的php文件返回的值如下

["India":149,"United States":1375,"Taiwan":22,"Latvia":1,"New Zealand":2,"Argentina":1,"Namibia":4,"Ghana":4,"Mauritania":1,"Sudan":3,"Kazakhstan":2,"Nigeria":3,"Kenya":2,"FYROM":1,"Nepal":4}]
进入vribale

杰森达

我试图用下面的代码在谷歌图表中添加这些值

var data = new google.visualization.DataTable(jsonData);
它的给出是错误的,因为我假设在值中没有列定义。所以我把代码改成了贝娄

var data = new google.visualization.DataTable();
data.addColumn('string', 'Country');
data.addColumn('number', 'Value');
data.addRows(jsonData);
这也给了我一个错误,即值必须是数组

如何解决这个问题,因为我无法更改PHP文件的结果


谢谢

在创建图表实例之前,您必须重新构造jsonData。 如果您有2列,则需要将json转换为数组的数组,在您的示例中,它如下所示:

[[“印度”,149],“美国”,1375],…[“尼泊尔”:4]]

试试这个:

var chartData=[];
对于(jsonData[0]中的var i)
{
push([i,jsonData[0][i]]);//这将为jsonData中的每个值创建[“Key”,Value]
}
var data=new google.visualization.DataTable();
data.addColumn('string','Country');
data.addColumn('number','Value');
data.addRows(chartData);
希望这有帮助

编辑1: 您的jsonData变量无效,您粘贴的是否正确? 它可能是一个关联数组?比如{“印度”:123,“阿根廷”:456}? 我的示例使用关联数组,因此不需要告诉我

编辑2: 必须将[0]添加到jsonData,因为它是关联数组的数组。现在试试看

编辑3:
这里是代码工作

Hello@niboc感谢回复,但它不工作,循环中的第一个错误是丢失],另一个是console.log(chartData)的输出;[[“0”]、“[”]、[“1”、“{”]、[“2”、“…..您能在返回时粘贴您的jsonData吗?[{“印度”:149,“美国”:1375,“台湾”:22,“巴基斯坦”:21,“斯洛伐克共和国”:7,“柬埔寨”:1,“澳门”:1,“爱沙尼亚”:1,“拉脱维亚”:1,“新西兰”:2,“阿根廷”:1,“纳米比亚”:4,“加纳”:4,“毛里塔尼亚”:1,“苏丹”:3,“哈萨克斯坦”:2,“尼日利亚”:3,“肯尼亚”:2,“FYROM”:1,“尼泊尔”:4}]您好@niboc如果您在上面的数据中看到,第一个值是国家名称,第二个值是值。代码已编辑。请立即重试。