[英]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.