$.getJSON("/data/data/com.android.tcptest/files/BPL.json", function(data) {
var i = 0, dataSize = data.length, tmpArray = [];
for(i; i < dataSize; i++){
tmpArray.push ([data[i].Time.substring(0, data[i].Time.length -2).replace(/:/g, ""),data[i].Bid ]);
}
return tmpArray;
});
$.plot($("#chart"), [ tmpArray ]);
如何在tmpArray
函数之外使用getJSON()
。我的程序不起作用。
谢谢!
答案 0 :(得分:1)
在getJSON
块之外初始化tmpArray。
编辑:Quentin是对的,数组是空的。您还需要使请求同步。我写了以下示例,希望它有所帮助:http://jsfiddle.net/mXHfC/
答案 1 :(得分:0)
异步JavaScript和XML是异步的。
你不能从它返回,然后你可以从以下地址返回:
$('button').click(function () {
return tmpArray;
});
$.plot($("#chart"), [ tmpArray ]); /* Does this method really expect an array consisting of a single value that is another array? */
在HTTP响应到达(或单击按钮)之后,回调中的代码才会执行。
在回调中完成工作。
$.getJSON("/data/data/com.android.tcptest/files/BPL.json", function(data) {
var i = 0, dataSize = data.length, tmpArray = [];
for(i; i < dataSize; i++){
tmpArray.push ([data[i].Time.substring(0, data[i].Time.length -2).replace(/:/g, ""),data[i].Bid ]);
}
$.plot($("#chart"), [ tmpArray ]);
});
答案 2 :(得分:0)
getJSON是异步的,你不能在返回函数之前使用数组!
$.getJSON("/data/data/com.android.tcptest/files/BPL.json", function(data) {
var i = 0, dataSize = data.length, tmpArray = [];
for(i; i < dataSize; i++){
tmpArray.push ([data[i].Time.substring(0, data[i].Time.length -2).replace(/:/g, ""),data[i].Bid ]);
}
$.plot($("#chart"), [ tmpArray ]);
//return tmpArray;
});