我点击链接后试图调用谷歌图表.这就是我的功能:
function getGraphData(id) { var ajax_url = '<?=URL?>ajaxlibrary/get-graph-data'; $.ajax({ type: 'POST',url: ajax_url,dataType: 'html',data: ({ id : id }),cache: false,success: function(data) { $('a').removeClass("selected"); $('#link_'+id).addClass("selected"); alert(data); },}); }
所以我在这里想要实现的是为不同的类似物加载不同的图形,所以假设我有政治图表,体育图表等.我不知道在哪里放置Google Api代码,因为它似乎是只是不工作……
编辑:
我编辑了这样的函数:
$.ajax({ type: "POST",dataType: "html",data: {id: id},url: '<?=URL?>' + 'ajaxlibrary/get-charts',success: function(datas) { console.log(datas); var data = google.visualization.arrayToDataTable([ datas ]); var options = { title: 'My Daily Activities' }; var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(data,options); } });
echo '[\'Task\',\'Hours per Day\'],[\'Work\',10],[\'shit\',50],[\'loop\',25],[\'poop\',15]';
响应不是有效的2D数组.如果我手动将值放在javascript文件中,它会起作用,因此问题出在响应中的某个位置.
解决方法
您可以使用以下代码加载带有Ajax调用的Google Charts.
$.ajax({ url: 'https://www.google.com/jsapi?callback',cache: true,dataType: 'script',success: function(){ google.load('visualization','1',{packages:['corechart'],'callback' : function() { $.ajax({ type: "POST",dataType: "json",data: {id: YOURIDHERE},success: function(jsondata) { var data = google.visualization.arrayToDataTable(jsondata); var options = {title: 'My Daily Activities'}; var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(data,options); } }); ]); } }); return true; } });
您可以使用Google Api加载任何其他图表类型,而不仅仅是核心图表.
原文地址:https://www.jb51.cc/jquery/177922.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。