我试着在django中使用ajax
点击图片后,我将img_number
发布到def update(request)
并且不知道为什么ajax无法获得返回值(2)
它始终提醒“错误”
请帮助我如何在django中正确使用它 谢谢。
list.html:
<script type="text/javascript">
$( document ).ready(function() {
$.ajaxSetup({
data: { csrfmiddlewaretoken: '{{ csrf_token }}' },
});
$(".pic_elect").click(function(){
var img_number = $(this).attr("img_number");
$.ajax({
url: 'update/',
data: {"img_number":img_number,
},
type: 'POST',
async: false,
dataType: 'json',
error: function(){
alert("error")
window.location.reload();
},
success: function(dataArr){
if(dataArr == 2){
alert('good job!');
}else if(dataArr==6){
/* jump to another.html */
}else{
alert('系統忙碌中,請稍後再試。');
window.location.reload();
}
}
});});});
</script>
<body>
....
{% for sh in shop.images %}
<a class="pic_elect" href="#" img_number={{sh.path}}><img src="http://test/image_store/{{ sh.path }}" ></a>
{% endfor %}
</body>
views.py
def update(request):
if request.is_ajax():
# travel = Traveltime.objects.filter(title=request.POST['title'])
# travel.update(image_elect=equest.POST['img_number'])
return 2
Firebug说错误是:
500 INTERNAL SERVER ERROR
AttributeError at /filter/travel/update/
'int' object has no attribute 'get'
答案 0 :(得分:1)
视图必须始终返回HttpResponse对象。您需要将数据包装在其中。
return HttpResponse(2)
对于更复杂的数据,在创建响应之前序列化为JSON - 在1.7中,有一个JsonResponse类可以为您完成。