【发布时间】:2023-03-22 20:34:01
【问题描述】:
好的,下面是对我正在做的事情的简要说明: 我有一个网站,人们可以在其中投票赞成或反对“冠军”。这些冠军以 100 点生命值开始。如果您要对特定英雄进行 UP 投票,他们的生命值现在将是 101。DOWN 投票将是 99。
这个网站已经启动并运行了 5 个赛季(有超过 1200 名成员在玩)。所以有很多投票同时进行。现在一切正常。但是,对于下个赛季,我将为“实时”投票实现 jquery/ajax(因此每次投票时都不需要刷新页面)。
我现在遇到的困难是,首先,我不擅长 ajax/js。但是,主要问题是当有人点击投票时,我需要一种方法从数据库中获取实时数据,然后将其放入 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>');
}
});
});
});
【问题讨论】:
-
到目前为止你做了什么?这些都不是非常复杂。
-
6 个问题,0 个被接受?继续前进。
-
不知道我需要接受吗?实际上甚至没有看到接受%,直到您刚刚提到它大声笑。现在,@ceejayoz - 如果你愿意,我可以通过消息链接你的实时网站,这样你就可以看到它是什么以及已经完成(不确定我是否真的可以在这里链接网站)。
-
实际上您可以链接到网站 - 只需粘贴 URL。
-
其实第 5 季刚刚结束,所以没有投票自动取款机。我现在唯一能做的就是把你送到测试站点,这需要私信哈哈。有需要的可以告诉我!
标签: php jquery ajax phpmyadmin real-time