[問題] RoR的hightchart如何取得資料
大家好,這個問題不知道應該是問Ruby還是問ajax..
最近在學習,寫了個網頁,目的是間隔10秒回傳數據跟顯示
每隔10秒生成新數據 -> 放入DB (postgresql) -> 從DB讀取最末項顯示
目前RoR那邊的架構已經完成,要顯示在用戶端時
用了hightchart的套件 http://www.highcharts.com/demo/dynamic-update
其中的程式碼 (節錄在下面)
y軸就是我要畫出的點,但我試了好幾個方法都沒辦法直接取用資料庫的資料
上網查了幾個方法,說可以用AJAX,但大多是ASP.net的(不會用= =)
也有人說RoR可以直接讀取..
$('#container').highcharts({
chart: {
type: 'spline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() {
// set up the updating of the chart each second
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime(), // current time
y = <%= Mydata.last.value %>;
series.addPoint([x, y], true, true);
}, 10000);
}
}
},
我目前是這樣寫,但很明顯的,y取不到值...
有沒有甚麼方法可以成功呢? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.89.71
→
12/03 10:24, , 1F
12/03 10:24, 1F
謝謝版主,我將資料用@mydata=Mydata讀取過來之後,我將上面的黃色那行改成
y = <%= @mydata.last.value %>
可以讀取到最後的值,但10秒之後畫的點,還是同一個值
就是client端load網頁“那時”的最後一點
之後,我在網路上看到一種寫法
$.ajax({
async: false,
type: "POST",
url: URL,
dataType: 'JSON',
success: function(data) {
y = JSON.parseInt(data.last.value);
}
});
似乎..可以直接呼叫資料庫? 可是我不太懂也用不出來
網路上的範例都是呼叫.ashx檔案,但RoR架構好像沒有這個東西,
拜託了,卡了好久....
※ 編輯: a83294 來自: 140.121.146.39 (12/03 12:49)
→
12/03 12:56, , 2F
12/03 12:56, 2F
→
12/03 12:56, , 3F
12/03 12:56, 3F
推
12/03 12:57, , 4F
12/03 12:57, 4F
→
12/03 12:57, , 5F
12/03 12:57, 5F
→
12/03 12:57, , 6F
12/03 12:57, 6F
推
12/03 22:15, , 7F
12/03 22:15, 7F
推
12/03 22:18, , 8F
12/03 22:18, 8F
推
12/03 22:20, , 9F
12/03 22:20, 9F
→
12/03 22:20, , 10F
12/03 22:20, 10F
→
12/03 22:21, , 11F
12/03 22:21, 11F
→
12/03 22:21, , 12F
12/03 22:21, 12F