我现在正在开发的代码的想法是从 JSON 文件(我从服务器获取)中提取数据,然后使用漂亮的图形显示结果。问题是我无法检索将 JSON 结果保存在 Jquery 代码中的对象,因此我可以将它们加载到图形中。为了简化,我的代码是这样的(Javascript部分)
var obj; //I initialize it here in order to make it global though it doesn't work
function handle_json() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var json_data = http_request.responseText;
obj = eval("(" + json_data + ")");
//at this point I have the information I want in "obj"
} else {
alert("A problem ocurred.");
}
http_request = null;
} }
但现在我想将“obj”发送到我的 jQuery 代码,这样我就可以访问信息并显示它。但是如果尝试这个(jQuery部分)
$(function () {
alert(obj.results.bindings[0].a.value); //<-- this doesn't work, obj isn't initialized
var fert = [];
fert = [[1990, 1.28], [1995, 1.25], [2000, 1], [2005, 1.3], [2010, 1.83]];
var plot = $.plot($("#placeholder"),
[ { data: fert, label: "Fertility"} ], {
series: {
lines: { show: true },
points: { show: true }
},
grid: { hoverable: true, clickable: true },
yaxis: { min: 0, max: 2}
});
我明白了问题所在,我进行了异步 Ajax 调用,我需要在评估 de json 信息( obj = eval("(" + json_data + ")") )后立即执行 jQuery 但我只是不知识!如果有帮助,我使用了一个名为“flot”的库来绘制图形。非常感谢!任何帮助将不胜感激:)