django喜欢带ajax调用的按钮

时间:2015-09-17 06:13:34

标签: javascript jquery python ajax django

我有一个模板,我喜欢我文章的链接:

<div id="voteUp">
<h4><a href="{% url "vote_up" article.id %}">Like {{article.up_vote}}</a></h4>
</div>

我想在用户点击文章时增加文章的投票次数。 我已经为它编写了视图并且它运行良好。 但现在我不想刷新页面。 我想从ajax调用它。这就是我在做的事情。

<script>

$('#voteUp').click(function(){
  $.ajax({
           //type: "POST",
           url: "/service/vote/up/{{article.id}}",
           success: function(response) {
                  alert("success");
                  alert('Liked');
            },
            }
      }); 
})

我只是想当用户点击“赞”按钮时,应该增加它而不刷新页面。

当我从firebug看到时,我没有看到任何调用的JavaScript。 这里有什么不对? 谢谢

2 个答案:

答案 0 :(得分:0)

valentjedi是对的:#voteUp定位<div>,但点击事件将在<a>上。

您可以为<a>标记提供ID,或者您应该更改您的jquery选择器。

您还必须prevent the default behaviour of the browser(即在浏览器中打开页面)

答案 1 :(得分:0)

<a id="voteUp" href="{% url "vote_up" article.id %}">Like {{article.up_vote}}</a>

<script>
$('#voteUp').click(function(evt){
  $.ajax({
    //type: "POST",
    url: $(evt.currentTarget).attr("href"),
    success: function(response) {
      alert("success");
      alert("Liked");
    }
  });
  evt.stopPropagation();
});
</script>