我使用的是使用javascript的图library。在使用另一个ajax脚本获取数据后,我必须运行此脚本。但是当我使用脚本时
var request, response;
var newUrl = url + '/thermometer/getLastHourData';
var data = $.ajax({
url: newUrl,
data: request,
dataType: "json",
method: "post",
success: function(data) {
drawGraph();
return data;
},
error: function() {
alert('Error occured');
}
});
drawGraph函数也是
google.load("visualization", "1");
// Set callback to run when API is loaded
google.setOnLoadCallback(drawVisualization);
// Called when the Visualization API is loaded.
function drawVisualization() {
// Create and populate a data table.
var data = new google.visualization.DataTable();
data.addColumn('datetime', 'time');
data.addColumn('number', 'Function A');
data.addColumn('number', 'Function B');
function functionA(x) {
return Math.sin(x / 25) * Math.cos(x / 25) * 50 + (Math.random()-0.5) * 10;
}
function functionB(x) {
return Math.sin(x / 50) *50 + Math.cos(x / 7) * 75 + (Math.random()-0.5) * 20 + 20;
}
// create data
var d = new Date(2010, 9, 23, 20, 0, 0);
for (var i = 0; i < 100; i++) {
data.addRow([new Date(d), functionA(i), functionB(i)]);
d.setMinutes(d.getMinutes() + 1);
}
// specify options
var options = {
"width": "100%",
"height": "350px"
};
// Instantiate our graph object.
var graph = new links.Graph(document.getElementById('mygraph'));
// Draw our graph with the created data and options
graph.draw(data, options);
}
(因为检查代码运行正常,我没有改变它所需要的)
drawGraph开始等待加载某个库的google.com但是当我使用drawGraph函数而没有从ajax函数调用时,它就像我在开头提到的链接一样工作。
如何在没有问题的情况下从ajax调用此图形函数?
答案 0 :(得分:1)
我一点也不清楚你的问题在这里。但是,如果您遇到ajax的异步属性问题,只需修改您的ajax调用:
$.ajax({
url: newUrl,
data: request,
async: false,
etc, etc, etc
希望这有帮助。