我有这个网址:
(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.
我该怎么做才能解决这个问题? 感谢。
答案 0 :(得分:1)
尝试使用已禁用$.ajax
的{{1}}。我已经读过使用cache
适用于所有浏览器,但$.ajax
不会向IE发送ajax标头。在这种情况下,$.get
不是is_ajax()
,并且不返回True
个对象。使用:
HttpResponse