jquery - 如何访问views.py中ajax调用发送的数据 python django

标签 jquery python ajax django

下面是我在 html 中用来发送 userids(numbers) 数组的代码。单击复选框后,我将发送数组 (checkIds):-

var checkIds = []
           $(document).on("click","#group_save",function(){
               $("#candidate-data tr").each(function(index,rowhtml){
                  var checked= $('input[id="groups"]:checked',rowhtml).length;
                  checkIds = jQuery.unique(checkIds)
                  if (checked==1){
                    checkIds.push($('.hideMe',rowhtml).text());
                  }
                });
               alert(checkIds);
               var jsonText = JSON.stringify(checkIds)
               checkIds.length = 0;
               var groupName = $('input:text[name="group_name"]').val();
               alert(groupName)
               $.ajax({
                    url: "{% url 'userinfo:groups' %}" + "?gname="+groupName,
                    type: "POST",
                    data:jsonText,
                    dataType: 'json',
                    success: function(){
                        notyfy({type: "success", layout: "topCenter", text: "Saved", timeout: 5000});
                    }
               });
           });

如何访问我的 View 中的 data:jsonText。 py 我正在这样做,但不起作用我必须将 gname(name) 以及数组(jsonText) id 保存在两个表 Groups 和 GroupMembers 表中我必须保存组名称(gname),保存后我必须获取已保存组对象的 id,并且必须将 userids(jsonText)数组保存在 GroupMembers 表中:-

def groups(request):
    gname = request.GET.get('gname', None)
    if request.method == 'POST':
        Groups(name=gname).save()
        usersV = request.POST.get('jsonText')
        x = request.GET.get('id',None)
        print x
        if x != "0":
            for users in usersV:
                print users
                GroupMembers(group_id=x,user_id=users).save()
        return HttpResponse("Success")
    else:
        return HttpResponse("Error")

最佳答案

这对我有用:

 var checkIds = [];
        $(document).on("click","#group_save",function(){
          $("#candidate-data tr").each(function(index,rowhtml){
            var checked= $('input[id="groups"]:checked',rowhtml).length;
            checkIds = jQuery.unique(checkIds)
            if (checked==1){
              checkIds.push($('.hideMe',rowhtml).text());
            }
          });
          alert(checkIds);
          var groupName = $('input:text[name="group_name"]').val();
          alert(groupName);
            $.ajax({
                url: "{% url 'userinfo:groups' %}" + "?gname="+groupName+"&checkids="+checkIds,
                type: "POST",
                dataType: 'json',
                traditional: true,
                success: function(){
                        notyfy({type: "success", layout: "topCenter", text: "Saved", timeout: 5000});
                    }
            });
            checkIds.length = 0;

并在您的views.py中:

def groups(request):
    print request.GET.copy()
    gname = request.GET.get('gname', None)
    if request.method == 'POST':
        g = Groups(name=gname)
        g.save()
        x = g.pk
        userlist = request.GET.get('checkids')
        for users in userlist:
            print users
            GroupMembers(group_id=x, user_id=users).save()
        return HttpResponse("Success")
    else:
        return HttpResponse("Error")

关于jquery - 如何访问views.py中ajax调用发送的数据 python django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24059536/

相关文章:

javascript - 显示有关选择特定值的数据

javascript - 在特定上下文中执行通过 .ajax 加载的 <scripts>

java - 使用ajax向服务器发送数据

css - 在 ajaxStart 上更改鼠标光标

javascript - 使用 Javascript/Jquery 在单击按钮时更改 div 中的文本

javascript - 向 HTML 网站添加 cookie 同意

javascript - 在javascript中同步两个进程

python - Storm 或 SQLAlchemy ORM 是否允许从现有数据库创建模式?

Python Keras - Windows 和 Linux 之间的兼容性

java - 按顺序向 Kafka 发送不同消息类型的良好做法