我正在使用图表library这是使用javascript。我必须在使用另一个 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调用这个图形函数而不出现问题?
最佳答案
我根本不清楚你在这里问什么。但是,如果您遇到 ajax 异步属性的问题,只需修改您的 ajax 调用,如下所示:
$.ajax({
url: newUrl,
data: request,
async: false,
etc, etc, etc
希望这有帮助。
关于javascript - 从 ajax post 响应调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24212071/