我想制作计数器,所有用户的值都是相同的。
我有json文件,其中包含数据:count = 0。
我想每秒运行一次功能,这将是下一步:
1.从json文件中获取值
2.更新计数器值
3.更改json文件中的值
4.转到1
以下是我现在所拥有的:
var counter = 0;
var myCounter = new flipCounter('counter', {value:counter});//initializing counter
window.setInterval(function(){
$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {1.taking the data from file
myCounter.setValue(data.count);//2.Updating counter
//3.here I need to change value from json file
})
}, 1000);
有人可以帮我解决第3点(如何从jQuery更改json值)?
答案 0 :(得分:2)
您需要一些服务器端脚本来修改json文件。您只需使用ajax调用命中脚本,它就可以为您更新计数器(在文件或数据库中)。您不希望在客户端设置“常用”计数器值。
您需要客户端除了从服务器提取更新的计数之外什么也不做(服务器在收到您的请求时将该计数增加1)。如果你期望很多流量,你可能不希望在平面文件中使用该计数器,而是在数据库或内存缓存中。
答案 1 :(得分:1)
需要在服务器上进行更改。如果您希望服务器的记录更新,服务器需要执行此操作(尽管使用$.post
或$.postJSON
),但您需要:
除非你在服务器上有逻辑(即counter.json
不仅仅是字面上带有数字的文件,而是具有服务器端逻辑[如ASP,PHP等])你是不会太过分。
为了消除往返,您可以让服务器每次更新时都会更新计数。像(在服务器上)的东西: