我現在正在開發的代碼的想法是從JSON文件(我從服務器獲取)中提取數據,然後使用美麗的漂亮的圖形。問題是我無法檢索將JSON結果保存在Jquery代碼中的對象,因此我可以將它們加載到圖形中。 爲了簡化,我的代碼是這樣的(JavaScript部分)如何從JavaScript調用JQuery函數(異步調用後)
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,我需要執行的jQuery之後我評價德JSON信息(OBJ = EVAL(」 (「+ json_data +」)「))但我只是不知道如何! 如果有幫助我已經使用了一個名爲「flot」的庫來完成圖形。 非常感謝!任何幫助將被預期:)
爲什麼不使用'$ .ajax()'? – zerkms
爲了天命,請使用'JSON.parse'而不是'eval'。 *所以*更安全。 – lonesomeday