Django和JQuery问题
希望有人能给我指出正确的方向。我编写了以下JQuery,它成功地将请求提交到DJango视图,然后返回信息,但是它似乎没有进入success:函数。我试图在控制台中看到成功 任何指点都将不胜感激 视图响应Django和JQuery问题,jquery,python,ajax,django,Jquery,Python,Ajax,Django,希望有人能给我指出正确的方向。我编写了以下JQuery,它成功地将请求提交到DJango视图,然后返回信息,但是它似乎没有进入success:函数。我试图在控制台中看到成功 任何指点都将不胜感激 视图响应 return JsonResponse({'success': False, 'message':'There was an incorrect "Action" Value. Speak to your systems administrator.'}) JQuery $('.delete
return JsonResponse({'success': False, 'message':'There was an incorrect "Action" Value. Speak to your systems administrator.'})
JQuery
$('.deletesubbutton').click(function(){
var sub_menu_id, the_body;
sub_menu_id = $(this).attr("data_sub_menu_id");
elid = "#DELsubmenuModalBody" + sub_menu_id;
the_body = $(elid);
$.ajax({
url: '/pages/ajax_request/submenu/',
type: 'POST',
data: {id: sub_menu_id, action: "delee"},
dataType: 'jsonp',
success: function(data){
the_body.append("Boo");
console.log("Success");
},
fail: function(data){
console.log("Fail");
}
});
});
视图功能
管理查看功能来管理记录
这可能不是最好的代码,但我只是在学习;-)
非常感谢。dataType:'json',而不是dataType:'jsonp',是的,你应该显示视图的其余部分。你能在你的
视图中发布函数吗。py
?根据要求添加了视图:)Typo是测试异常,以阻止我删除和重新创建数据来测试函数;-)
@login_required(login_url='/auth/login/')
def ajax_request(request, dataset):
if request.method == 'POST':
if dataset in ['submenu', 'menu'] and request.is_ajax():
# ensure the action paramter is set
if 'action' in request.POST:
#ipdb.set_trace()
# this section is for the delete action
if request.POST['action'] == 'delete':
# test if the required parameters are not included
# check required paramters are included in the post request
if 'id' not in request.POST:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error processing the request. Required parameter values missing.'}), content_type="application/json")
else:
# include try clause to capture errors caused by non-integer parameters being submitted.
try:
menu_id = int(request.POST['id'])
except:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error processing the request. Invalid parameter type detected.'}), content_type="application/json")
if dataset == 'menu':
queryset = Menu.objects.get(id=menu_id)
elif dataset == 'submenu':
queryset = Sub_Menu.objects.get(id=menu_id)
sub_menu_id = queryset.menu
else:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error processing the request. Incorrect level value.'}), content_type="application/json")
try:
queryset.delete()
if dataset == 'menu':
renum_menu_items()
else:
renum_menu_items(sub_menu_id)
return HttpResponseRedirect(reverse('manage_admin_form', kwargs={'dataset': 'menu'}))
except:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error deleting the menu item. Speak to your systems administrator.'}), content_type="application/json")
else:
return JsonResponse({'success': False, 'message':'There was an incorrect "Action" Value. Speak to your systems administrator.'})
else:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error processing the request. Required parameter values missing.'}), content_type="application/json")
else:
return HttpResponse(json.dumps({'success': False, 'message':'There was an error processing the request. Required parameter values missing.'}), content_type="application/json")
else:
if dataset == 'submenu':
return HttpResponse(json.dumps({'message': 'Returns a message', 'submenu_id': 'Returns the Sub Menu ID'}), content_type="application/json")
elif dataset == 'menu':
return HttpResponse(json.dumps({'message': 'Returns a message', 'menu_id': 'Returns the Menu ID'}), content_type="application/json")
else:
return HttpResponseRedirect(reverse('pages'))