Javascript 如何更正此代码以显示google组织。图表正确吗?
这是一个网页,我想在这里展示org。图表dataArray变量存储Javascript 如何更正此代码以显示google组织。图表正确吗?,javascript,php,json,ajax,google-visualization,Javascript,Php,Json,Ajax,Google Visualization,这是一个网页,我想在这里展示org。图表dataArray变量存储[{v:“John”,f:“junior Employee”},“junior Employee”] 价值我通过ajax获得的数据是[“[{v:“John”,f:“Junior Employee”},“Junior Employee”]”] 我得到了这个错误: SyntaxError: Unexpected token v in JSON at position 3 代码: 案例图 $(“文档”).ready(函数(){ $(
[{v:“John”,f:“junior Employee”},“junior Employee”]
价值我通过ajax获得的数据是[“[{v:“John”,f:“Junior Employee”},“Junior Employee”]”]
我得到了这个错误:
SyntaxError: Unexpected token v in JSON at position 3
代码:
案例图
$(“文档”).ready(函数(){
$(“#getGraph”)。单击(函数(){
$.ajax({
url:“./DataPHP3.php”,
方法:“张贴”,
数据类型:'json',
成功:功能(数据){
控制台日志(数据);
变量长度=data.length;
load('current',{packages:[“orgchart”]});
google.charts.setOnLoadCallback(drawChart);
var dataArray=[];
对于(var k=0;k也需要将对象键括在引号中(“v”:
)
请参阅以下工作片段
google.charts.load('current'{
回调:图纸,
软件包:['orgchart']
});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','Name');
data.addColumn('string','Manager');
data.addColumn('string','ToolTip');
data.addRows(
$.parseJSON('[{“v”:“John”,“f”:“junior Employee”},null,“junior Employee”]]'))
);
var chart=new google.visualization.OrgChart(document.getElementById('chart');
图表绘制(数据、{
allowHtml:是的
});
}
使用此方法data.setCell()在图表中写入数据,而不是复制整个格式!!!改进了格式设置。看起来您找到了解决方案,但您可能想知道发生错误的原因。。。
<html>
<head>
<title>Case Graphs</title>
<script src="./js/my/jquery-2.1.1.min.js"></script>
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> -->
<script type="text/javascript" src="loader.js"></script>
<script type="text/javascript">
$("document").ready(function(){
$("#getGraph").click(function(){
$.ajax({
url:"./DataPHP3.php",
method:"POST",
dataType:'json',
success:function(data){
console.log(data);
var length=data.length;
google.charts.load('current', {packages:["orgchart"]});
google.charts.setOnLoadCallback(drawChart);
var dataArray=[];
for(var k=0;k<length;k++)
{
if(k==0)
{
dataArray+="["+data[k];
}
else
{
dataArray+=","+data[k];
}
}
dataArray+="]";
function drawChart() {
console.log(dataArray);
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Manager');
data.addColumn('string', 'ToolTip');
// For each orgchart box, provide the name, manager, and tooltip to show.
data.addRows(
$.parseJSON(dataArray)
// [[{v:"John",f:"junior Employee"}, ,"Junior Employee"]]
);
// Create the chart.
var chart = new google.visualization.OrgChart(document.getElementById('chart_div'));
// Draw the chart, setting the allowHtml option to true for the tooltips.
chart.draw(data, {allowHtml:true});
}
},
});
});
});
</script>``
</head>
<body>
<input type="button" id="getGraph" value="Show Graph">
<div id="chart_div" style="width: 900px; height: 400px"></div>
</body>
</html>
This is webpage,where i want to show org. graph. dataArray variable store [[{v:"John",f:"junior Employee"}, ,"Junior Employee"]]
value. and i got data through ajax is ["[{v:"John",f:"Junior Employee"}, ,"Junior Employee"]"].
I GOT THIS ERROR:
SyntaxError: Unexpected token v in JSON at position 3
[[{"v":"John", "f":"junior Employee"}, null, "Junior Employee"]]