通过Ajax将多个表单数据发布到Django中的单个视图

时间:2015-01-19 10:12:16

标签: javascript jquery ajax django

我在页面上有两个表单。显示第1个,隐藏第2个。

第一个表单显示网格和分页中的用户及其电子邮件列表。当我从网格中选择多个用户时,div会显示在网格的右侧。这将用于向所选用户发送电子邮件。

显示的第二个表单将输入用户的电子邮件主题,然后将这些整个数据传递给django视图。

我有用户这个ajax代码将整个数据发送到views函数。

    $("#_send").click(function(){
             var frm = $('#messageform');
                frm.submit(function () {
                var selectedID = [];
   $(':checkbox[name="selectedvalues[]"]:checked').each(function(){
                    selectedID.push($(this).data("email"));
                    });
                    $.ajax({
                        type: 'POST',
                        url: '/sendemail/',
                        processData: true,
                        data: {'frm':frm.serialize(),
                             'selectedID': selectedID},
                        success: function (data) {
                            alert(data);
                        },
                        error: function(data) {
                            alert("error");
                        }
                    });
                    return false;
                });
        });

在django的观点中,我正在抓住这个;

def Send_Message(request):
    checked_items = request.POST.getlist('selectedID[]')
    Msg_Content = str(request.POST.get('content'))
    frm = request.POST.get('frm')
    print checked_items
    print frm
    print Msg_Content

它会像这样输出;

abc@gmail.com,abc123@cogilent.comm   

csrfmiddlewaretoken=dP7VkSQdWx0fXuX0kJC46arv6HFElvgz&subject=Hi+This+is+testing+message&content=ddddd

但我希望这些数据分开,邮件内容和邮件主题。

1 个答案:

答案 0 :(得分:0)

序列化数据时;你应该可以做request.POST.get('subject')