2013-07-21 24 views
0

我有兩個文件。一個是使用mysql連接的php。如果我用我的瀏覽器手動打開,我會看到正確的值。例如:[["4","5.000"],["5","1.000"]]在js中使用ajax的php數據

代碼:

$query = "SELECT id, wert FROM stat_cpu ORDER BY id LIMIT 100"; 
$result = mysql_query($query,$db); 

    while($row = mysql_fetch_assoc($result)) 
    { 
     $dataset1[] = array($row['id'],$row['wert']); 
    } 

echo json_encode($dataset1); 

我想顯示在圖中的數據。如果我手動將這些值放在js中,所有工作都很好。但我怎麼能把它自動從php到js文件?

我已經試過這樣:

... 
$.ajax({          
url: 'cpudaten.php', 
dataType: 'json', 
success: function(data) 
{ 
var cpudaten = data[0]; 
}}); 

var updateInterval = 30; 
var plot_statistics = $.plot($("#load_statistics"), 
[cpudaten], {.... 
+0

'cpudaten'只能在'success'的範圍內訪問,但即使使它成爲全局的,它也不會工作,因爲AJAX是異步的。檢查這個問題http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call – elclanrs

+0

好的謝謝你的答案。 cpudaten只是一個變量。我必須改變才能實現它。我只想從我的mysql獲取數據到js腳本中。必須有一個解決方案.... – TrivoXx

+0

是的,上述問題的答案有解決方案。解決方案是運行你的邏輯_回調或使用承諾。 – elclanrs

回答

0

你必須把你的邏輯到成功的範圍。這條路。

var plot_statistics; 


success: function(data) 
{ 
    var cpudaten = data[0]; 

    plot_statistics = $.plot($("#load_statistics"), 
         [cpudaten()], {...} 
        ) 

} 
+0

好吧,這是一個很好的提示! – TrivoXx