Django和JQuery问题

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

希望有人能给我指出正确的方向。我编写了以下JQuery,它成功地将请求提交到DJango视图,然后返回信息,但是它似乎没有进入success:函数。我试图在控制台中看到成功

任何指点都将不胜感激

视图响应

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'))