[问题] RoR的hightchart如何取得资料

楼主: a83294 (马岱)   2013-12-02 22:41:00
大家好,这个问题不知道应该是问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取不到值...
有没有什么方法可以成功呢? 谢谢
作者: TonyQ (自立而后立人。)   2013-02-03 10:24:00
你要把资料先放到 client 去 再透过 JS 取值简单作法,你先把那个变量的整个内容转成 json string然后放到 javascript 写个 var data= <%=json_str%>;之后再透过 data 这个 js obj 去 access.进阶作法就是写 json service 从 js 去捞...但如果你简单作法都不会,进阶作法只会让你更 confuse XD
作者: qwer820404 (GB2)   2013-02-03 22:15:00
我最近用highchart开发了dashboard...但是用.net真的再不会再私信给我吧你client那边 10秒的timer是有写对 但是你用inline code的方式写…当然会一直读到一样你的操控权在client,service那端要用一个service说错 server那端 你要放一个service让ajax可以呼叫

Links booklink

Contact Us: admin [ a t ] ucptt.com