我有这样的问题:我想显示计数器,它每秒都会变化,所以我需要更改Ruby变量,我将在jQuery中使用。
编辑:我想做计数器,这对所有用户都是一样的。
我有counter.json.erb文件:
{
"count": <%= @counter%>
}
和行动:
def counter
@counter //here I need to change variable
respond_to do |format|
format.jsonr do
render :json
end
end
end
我正在使用jQuery进行这种变种:
$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
alert(data.count);//alert just for testing
})
编辑:建议的代码:
var counter = 0
$(document).ready(function(){
var myCounter = new flipCounter('counter', {value:counter});
$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
myCounter.setValue(data.count);
})
});
setInterval(function() {
$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
myCounter.setValue(data.count);
}, 1000);
我收到错误:
Uncaught SyntaxError: Unexpected end of input application.js:1
也许有人可以提出一些建议?也许其他解决方案?
您实际上不需要"每秒更改变量"。它比这简单得多:
- 选择开始时间(或结束时间)并将值存储在某个位置
- 在任何时候,采取当前时间
- 计算两者之间的差异
做。您可以随时重复此算法,并始终获取计时器的当前状态。