flot 图未显示数据,数据未完全加载
flot graph not displaying data, data not fully loaded?
当下面注释掉alert("inside function: " +data);
时,数据行不会显示在图表上,但是当其未注释且用户关闭警报时,图表中填充了数据集。
调用 $.plot
时数据是否未完全加载?
[01:05:21.158] TypeError: myfile is undefined @ http://localhost:8080/App/js/App.js:7
脚本。。
$(function() {
var plotarea = $("#placeholder"),
myfile = Script_JSON.getData("myfile"),
anotherfile = Script_JSON.getData("anotherfile");
$.plot(plotarea, [myfile.data, anotherfile.data]);
});
var Script_JSON = {
getData: function(component) {
var data;
$.getJSON("data/" + component + ".json", function(json) {
data=json;
});
//alert("inside function: " +data);
return data;
}
};
有很多重复的问题,但没有一个有非常直接的答案。
AJAX 请求,例如 getJSON,是异步的。 当您进行调用时,它会立即返回,而您提供的成功函数要到一段时间后才会调用。 这可以是几毫秒到几秒钟的任何时间,具体取决于请求。
因此,在下一行调用情节,期望结果已经到来,是行不通的。 您需要在成功回调中绘制
。在您的情况下,您有两个单独的负载,您需要检查每个负载是否已经到达另一个负载的结果。 如果是这样,您可以绘图;否则,您需要返回并让其他回调处理它。
使用 Java Servlet 从文件中读取 json 数据,并使用 AJAX 发送到 javascript。
var App_AJAX = {
getData: function(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET", "Servlet, true);
xmlhttp.send(null);
function callback() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
$("#body").append('<div id="content"><div class="demo-container"><div id="placeholder" class="demo-placeholder"></div></div></div>');
var datasets = JSON.parse(xmlhttp.responseText);
} else {
// have not recieved data yet
}
}
}
};
相关文章:
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 如何将本地json数据加载到Extjs数据模型中
- FancyTree JS+Backbone.JS-将数据加载到FancyTree时出现问题
- 将数据加载到使用JSON返回的表单字段时出现问题
- 将基本CSV数据加载到D3
- 如何将JSON数据加载到Jqgrid中
- 点击事件时将新的JSON数据加载到Angular中
- 如何使用输入数据加载新的extjs图表
- 读取外部local.txt文件以将数据加载到数组中
- 将数据加载到地图上的更好解决方案
- 将谷歌地理编码(从url)数据加载到javascript变量中
- 按钮在第一次成功的 ajax 数据加载后不起作用
- Jquery 工具提示未随 AJAX 数据加载一起显示
- 将 json 数据加载到 CycleJS 应用程序中
- 将图像数据加载到Angularjs中
- 页面加载前的Angular JS数据加载
- 将数据加载到存储后,Extjs组合框为空
- 将从服务器获取的数据加载到输入文本表单中
- 从 txt 加载数组,将数据加载到 html 中
- 如何将PostgreSQL数据加载到HTML/JS中