实时jQuery Ajax PHP中的UP或DOWN投票

好吧,这里有一个我正在做的事情的快速解释:我有一个网站,人们可以向上或向下投票给“冠军”。 这些冠军以100健康开始。 如果你要投票给一个特定的冠军,他们的健康状况现在是101. DOWN投票将是99。

这个网站已经启动并运行了5个季节(有超过1200个成员玩)。 所以有很多投票同时进行。 现在一切正常。 但是,对于下一季,我将实施jquery / ajax进行“实时”投票(因此每次投票时页面都不需要刷新)。

我现在正在与之斗争的是,首先,我对ajax / js并不满意。 但是,主要问题是当有人点击投票时,我需要一种方法从数据库中获取LIVE数据,然后将其放入jquery / ajax查询中,然后实时输出实际数据(或者至少我觉得这是应该做的事情)。

还有第二部分……允许人们每小时投票3次。 页面顶部有一条通知,显示他们剩下多少票,“你还有3个动作。” 这再次,工作正常,但我想,需要修复ajax也是实时的。

我希望我能够解释得这么好。 如果没有,请告诉我! 任何帮助将不胜感激!

码:

$("a.vote-heal").click(function(){ var votes; var champ; var health; champ = $(this).attr('id'); votes = $("#votesLeft").text(); votes--; //the main ajax request $.getJSON("/load-champ.php?champ="+champ, function(data) { $.each(data, function(i,data) { health = data.health; health++; }); $.ajax({ type: "POST", url: "/votes.php", data: "champ="+champ+"&action=heal", success: function(msg) { $('#'+champ+' .health-inner').html(health); $('#header .vote-remain').html('You have '+votes+' Actions remaining'); $('#'+champ+' .voting').html('Hurt '+champ+'
Heal '+champ+'
'); } }); }); });

所有这些只是使用JSON返回的数据库查询。 也许在后端有两个动作 – 投票和刷新。

在投票方法中,首先检查选民的当前计数。 如果还有选票,请让冠军得分上升或下降。

然后,返回此数组:

  1. 项目清单
  2. 冠军票
  3. 投票离开了
  4. 错误(如果存在)

在刷新方法中(每x秒或几分钟轮询后端服务器)返回当前投票数。

一个相当容易的ajax实现。

希望这可以帮助!


编辑:AJAX学习链接

使用jQuery,它超级,超级简单。 这是如何做: