我想在我的網站上實現一個投資分析風格的投票按鈕。我有它運作良好,唯一的問題是用戶目前可以投票無限次。我需要它來運行一個SQL查詢並檢查數據庫,看看他們在接受投票前是否投了票。Reddit式的投票按鈕
問題是:我在哪裏可以將SQL查詢放入此AJAX POST中,如果存在投票則禁用該按鈕?這是我到目前爲止:
$(function(){
$("a.vote_up").click(function(){
//get the id
the_id = $(this).attr('id');
// show the spinner
$(this).parent().append("<div id='spinnerDiv' style='width:20px; height:20px; float:right; margin-right:570px;'><img src='images/spinner.gif'/></div>");
//fadeout the vote-count
$("span#votes_count, span#vote_buttons"+the_id).fadeOut("fast");
//the main ajax request
$.ajax({
type: "POST",
data: "action=vote_up&id="+$(this).attr("id"),
url: "votes.php?personid=<?php echo $personid;?>&userid=<?php echo $userid;?>",
success: function(msg)
{
$("span#votes_count"+the_id).html(msg);
//fadein the vote count
$("span#votes_count"+the_id).fadeIn();
//remove the spinner
$("#spinnerDiv").remove();
$("span#vote_buttons"+the_id).fadeIn();
}
});
});
感謝您的回覆。我仍然對如何將JSON返回給index.php感到困惑。如果PHP在vote.php POST一個布爾值(不投票或不),然後在index.php上使用JSON來獲取該布爾值的結果? – user547794 2011-02-12 18:56:52
你的index.php應該發佈用戶ID和他們投票的內容。然後在vote.php中的代碼應該看看他們是否投了票。如果他們已經投票了,像我說的那樣返回一個JSON散列。在AJAX中,JavaScript發起對某個URL的請求(如votes.php)並異步獲取響應。我會爲你更新我的答案 – 2011-02-12 20:55:08