簡體   English   中英

實時jQuery Ajax PHP中的向上或向下投票

[英]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返回的數據庫查詢。 后端可能有兩個操作-投票和刷新。

在表決方法中,首先檢查以查看投票者的當前計數。 如果還剩下票數,則使冠軍的分數上升或下降。

然后,返回此數組:

  1. 項目清單
  2. 冠軍票
  3. 向左投票
  4. 錯誤(如果存在)

在refresh方法(它將每隔x秒或分鍾x輪詢后端服務器)中,返回當前投票數。

一個相當簡單的ajax實現。

希望這可以幫助!


編輯:AJAX學習鏈接

使用jQuery,它超級簡單。 這是如何做:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM