[英]UP or DOWN Voting in Real-Time jQuery Ajax PHP
好的,这是我正在做的事情的简要说明:我有一个网站,人们可以在上面投票赞成或反对。 这些冠军以100点生命值开始。 如果您要对某个特定冠军进行UP投票,那么他们的健康状况现在将是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 <strong><span id="votesLeft">'+votes+'</span> Actions</strong> remaining');
$('#'+champ+' .voting').html('<a id='+champ+'" class="button vote-hurt" href="javascript:;">Hurt '+champ+'</a><div class="button vote-heal action-tooltip">Heal '+champ+'</div>');
}
});
});
});
所有这些只是使用JSON返回的数据库查询。 后端可能有两个操作-投票和刷新。
在表决方法中,首先检查以查看投票者的当前计数。 如果还剩下票数,则使冠军的分数上升或下降。
然后,返回此数组:
在refresh方法(它将每隔x秒或分钟x轮询后端服务器)中,返回当前投票数。
一个相当简单的ajax实现。
希望这可以帮助!
编辑:AJAX学习链接
使用jQuery,它超级简单。 这是如何做:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.