Я сделал голосование на своем сайте, используя только PHP и Smarty. Это самый HTML часть этого:Система голосования с jQuery, PHP и Smarty
<p>{$vote} <a href="vote.php?q_vote=vote_up&question_id={$qid}"><i class="icon-thumbs-up"></i></a> <a href="vote.php?q_vote=vote_down&question_id={$qid}"><i class="icon-thumbs-down"></i></a></p>
РНР часть кода принимает голос и обновляет ту же страницу.
Я хочу сделать то же самое, используя jQuery, чтобы он не нуждался в обновлении страницы. Вот что я написал в HTML:
$("#q_upvote").click(function()
{
var vote = "vote_up";
var votedata = "";
votedata = "vote= " + vote;
$.ajax({
type: 'POST',
url: 'vote.php',
data: votedata,
success: function(vote_msg){
if(msg == 'ok')
{
//show the new vote
}
else
//show notification
}
}
)
</script>
Я не мог понять, как показать там новое голосование. Можете ли вы мне помочь? Также я ценю, если мне скажут, что если я пойду правильно.
что ответ Аякса подсчет новое голосование или что? –
Вам нужно изменить php-ответ, чтобы не дать полную страницу, а вместо этого просто предоставить единственную информацию, которую вы ищете. (Или json-строка из нескольких фрагментов информации). –
у вас есть функция vote_msg param, но вы проверяете msg param изменить его. Также данные строки: votedata, могут быть изменены на данные: «vote = voteup», это упростит ваш скрипт, и вам не понадобится так много переменных. Когда вы предоставляете параметр param для vote.php, что возвращает php-файл? – Robert