Javascript 谷歌图表和Ajax响应';s
我在这方面已经做了很长时间了。我似乎不明白为什么我不能填充我的图表。我正在使用谷歌图表api。当我将数据传递给Javascript 谷歌图表和Ajax响应';s,javascript,jquery,google-visualization,Javascript,Jquery,Google Visualization,我在这方面已经做了很长时间了。我似乎不明白为什么我不能填充我的图表。我正在使用谷歌图表api。当我将数据传递给 new google.visualization.DataTable(getData(playWithData)) 它返回“表没有列” 这是我当前对控制器的ajax调用 function getData(callback){ $.ajax({ type: "GET", url: '/lead_sources', dataType: 'jso
new google.visualization.DataTable(getData(playWithData))
它返回“表没有列”
这是我当前对控制器的ajax调用
function getData(callback){
$.ajax({
type: "GET",
url: '/lead_sources',
dataType: 'json'
}).done(function(data){
callback(data);
})
}
function playWithData(data){
console.log(data);
}
var data = new google.visualization.DataTable(getData(playWithData))
在控制台内部
目前,我正在使用来自控制器的虚拟数据来让ajax调用正常工作。格式与文档类似
我不确定我是错过了什么,还是做了完全错误的事情。任何帮助都会很好 您的问题是异步逻辑以您不期望的方式执行的组合,以及两个函数都不返回任何数据的事实 一旦检索到
数据
,您需要在回调函数本身中创建数据表。试试这个:
function getData(){
$.ajax({
type: "GET",
url: '/lead_sources',
dataType: 'json'
}).done(function(data){
var dataTable = new google.visualization.DataTable(data);
// amend settings of dataTable here, as needed
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(dataTable, { showRowNumber: true });
})
}
getData(); // call when required
谢谢你的帮助!我现在有一些东西出现在我的图表上!!花了这么多时间尝试了一百万种不同的东西。谢谢没问题,很乐意帮忙。
function getData(){
$.ajax({
type: "GET",
url: '/lead_sources',
dataType: 'json'
}).done(function(data){
var dataTable = new google.visualization.DataTable(data);
// amend settings of dataTable here, as needed
var table = new google.visualization.Table(document.getElementById('table_div'));
table.draw(dataTable, { showRowNumber: true });
})
}
getData(); // call when required