【发布时间】:2013-05-10 12:17:55
【问题描述】:
我只使用 PHP 和 Smarty 为我的网站添加了投票功能。 这是它的 HTML 部分:
<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>
代码的 PHP 部分进行投票并刷新同一页面。
我想用 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>
我不知道如何在那里显示新投票。你能帮我解决这个问题吗?如果有人告诉我,如果我走的是正确的道路,我也很感激。
【问题讨论】:
-
ajax 响应新投票数是什么?
-
您需要将 php 响应更改为不提供完整页面,而只提供您正在寻找的单条信息。 (或者是几条信息的json字符串)。
-
您在函数 vote_msg 参数中有但您检查 msg 参数更改它。此行数据:votedata,可以更改为数据:“投票=投票”这将简化您的脚本,您不需要这么多变量。当您向 vote.php 提供投票参数时,php 文件会返回什么?
-
@RobertPodwika 我还没有写那部分,但我认为它应该返回一个 JSON 变量。
标签: php jquery html smarty vote