2010-09-01 126 views
0

對不起noob問題。我讀過幾個問題,無法解決我的問題。我似乎無法加載數據。加載JSON時出現Jquery Flot問題

我有一個PHP腳本輸出以下json代碼。

{label: "load",data:[[1283294013*1000, 2.03],[1283293998*1000, 2.04],[1283293983*1000, 2.06],[1283293968*1000, 1.99],[1283293953*1000, 1.98],[1283293937*1000, 1.98],[1283293922*1000, 1.97],[1283293907*1000, 1.97],[1283293892*1000, 1.96],[1283293877*1000, 1.95],[1283293862*1000, 2.03]]} 

用下面的選項

var options = { 
    legend: { 
     show: true, 
     margin: 10, 
     backgroundOpacity: 0.5 
    }, 
    lines: { show: true }, 
    xaxis: { 
     mode: "time", 
     timeformat: "%H:%M" 
    }, 
    yaxis: { min: 0, }, 
    grid: { hoverable: true } 
    }; 

實際腳本如下所示

var plotArea = $("#plotArea"); 
    plotArea.css("height", "450px"); 
    plotArea.css("width", "800px"); 

    $.getJSON("getStats.php", function(data) { 
     alert(data); 
     $.plot(plotArea , data, options); 
    }); 

警報不會加載在所有。使用FireBug,我可以看到數據已返回,但沒有任何反應。

當使用以下代替時,數據通過。警報運行並且圖形上沒有顯示任何圖形。

$.get("getStats.php", function(data) { 
     alert(data); 
     $.plot(plotArea , data, options); 
    }); 

我能得到這個只包括在代碼中getStats.php時運行,但是這不是真的是我拍攝的。

回答

1

JSON數據不能包含數學運算(在你的情況下乘法運算)。發送已計算的值而不是表達式。

+0

我試圖修改的結果,已經計算的時間。輸出如下 {label:「load」,data:[[1283298376000,1.01],[1283298361000,1.01],[1283298346000,1.02],[1283312642600000,1.08],[1283312627600000,1.10]]} 即使返回了上述內容,getJSON部分仍然無法正常工作。例如,結果會返回,但警報不會運行。 – ScrewzLuse 2010-09-01 03:48:25

0

也是我希望的最後3個字符,看起來像]]}]},

+0

哎呀,對不起。我其實只是錯誤地複製了它。有 ]]}。我解決了這個問題。謝謝。 :-) – ScrewzLuse 2010-09-01 03:18:23