【发布时间】:2015-01-22 15:10:23
【问题描述】:
为什么下面的 jquery .post 成功函数不起作用或者我如何检查它为什么不起作用:
$('#delete_visit').click(function(){
var vg_id = $("#id_visit_select").val();//select visit from a dropdown
$.post('{% url 'study.views.delete_visit' %}',
//posting to django view, this seems to work
{ v_id: v_id },
function(data){
if (data){
alert('data posted');
//not hit, even though seems like django view succesfully deletes visit
}
else{
alert('data post failure');
//also not hit
}
}
);//end post
});//end click
Django 视图:
def delete_visit(request):
v_id=request.POST['v_id']
if v_id:
v_obj=Visit.objects.get(id=v_id)
print v_obj.id, 'it works!' # this all prints
v_obj.delete()
return HttpResponse('a')
已解决
我发现了问题 - 这对我来说非常愚蠢。我的点击目标是带有“#”的 href 链接,因为我的点击功能中没有 preventDefault,所以在数据发布之前它正在刷新,我收到错误代码 10054:连接重置
【问题讨论】:
-
总的来说,我想知道一种更好的方法来调试这些 ajax 帖子,而不是到处留下警报地雷
-
请将您的解决方案移至自己的答案,谢谢。