用ajax的Django投票按钮

时间:2014-07-29 00:41:18

标签: javascript jquery python ajax django

我有这个网址:

(r'^oyla/(\d+)/$', oyla),

我有这个观点:

@login_required
def oyla(request, id):
    if request.is_ajax():
        entry = Entry.objects.get(pk=id)
        entry.points += 1
        entry.save()
        if 'HTTP_REFERER' in request.META:
            return HttpResponseRedirect(request.META['HTTP_REFERER'])
        return HttpResponseRedirect('/')

我在html中有这些:

{{ ent.points }}
<a href="/oyla/{{ ent.id }}" class="oyla">Vote Up</a>

这是我的js:

<script type="text/javascript">
    $("a.oyla").click(function(){
    var curr_elem = $(this) ;
    $.get($(this).attr('href'), function(data){
        var my_div = $(curr_elem).parent().find("b");
        my_div.text(my_div.text()*1+1);     
    }); 
    return false;
});
  </script>

当我点击“Vote Up”时,我想要进行投票我希望看到积分增加而没有任何页面刷新。它不起作用。它说

The view baslik.views.oyla didn't return an HttpResponse object.

我该怎么做才能解决这个问题? 感谢。

1 个答案:

答案 0 :(得分:1)

尝试使用已禁用$.ajax的{​​{1}}。我已经读过使用cache适用于所有浏览器,但$.ajax不会向IE发送ajax标头。在这种情况下,$.get不是is_ajax(),并且不返回True个对象。使用:

HttpResponse