是否可以使用jQuery更改文件中的json值?

时间:2012-09-13 15:03:05

标签: jquery json

我想制作计数器,所有用户的值都是相同的。

我有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值)?

2 个答案:

答案 0 :(得分:2)

您需要一些服务器端脚本来修改json文件。您只需使用ajax调用命中脚本,它就可以为您更新计数器(在文件或数据库中)。您不希望在客户端设置“常用”计数器值。

您需要客户端除了从服务器提取更新的计数之外什么也不做(服务器在收到您的请求时将该计数增加1)。如果你期望很多流量,你可能不希望在平面文件中使用该计数器,而是在数据库或内存缓存中。

答案 1 :(得分:1)

需要在服务器上进行更改。如果您希望服务器的记录更新,服务器需要执行此操作(尽管使用$.post$.postJSON),但您需要:

  1. 抓住客户的价值
  2. 客户端进行更新
  3. 客户端将更改后的值重新提交给服务器
  4. 服务器更新值。
  5. 除非你在服务器上有逻辑(即counter.json不仅仅是字面上带有数字的文件,而是具有服务器端逻辑[如ASP,PHP等])你是不会太过分。

    为了消除往返,您可以让服务器每次更新时都会更新计数。像(在服务器上)的东西:

    1. 抓住当前点数
    2. 将计数器增加一个
    3. 重新保存新计数
    4. 输出计数到客户端(JavaScript现在有值)
相关问题