包含带有jQuery和Django的数组的数据的ajax POST

包含带有jQuery和Django的数组的数据的ajax POST,jquery,ajax,django,post,Jquery,Ajax,Django,Post,因此,我希望获取已选中复选框的数据,并将这些值推送到数组中: var interestedIn = []; $(":checked").each(function() { interestedIn.push($(this).val()); }); 然后,我将此数组作为数据传递给ajax调用和其他一些变量: $.ajax({ type: "POST", dataType: "json", url: "{{ request.path }}", data: {

因此,我希望获取已选中复选框的数据,并将这些值推送到数组中:

var interestedIn = [];

$(":checked").each(function() {
  interestedIn.push($(this).val());
});
然后,我将此数组作为数据传递给ajax调用和其他一些变量:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "{{ request.path }}",
    data: { 'email': values['email'], 'name': values['name'], 'interestedIn': interestedIn }
})
然后,我尝试使用Django views.py文件访问interestedIn变量:

if request.POST and request.is_ajax():
    interestedin = request.POST.get('interestedIn')
当打印要检查的interestedin变量时,返回为None。有人知道如何同时发布数组和变量吗?

您可以尝试:

data: { 'email': values['email'], 'name': values['name'], 'interestedIn': JSON.stringify(interestedIn)}
您可以尝试:

data: { 'email': values['email'], 'name': values['name'], 'interestedIn': JSON.stringify(interestedIn)}

可能是因为您将感兴趣的
作为数组发送。您如何在服务器上反序列化它?或者,可能是数组超出了AJAX请求的范围。很难说这段代码在服务器端没有反序列化-我尝试了客户端,但遇到了一些$errors。我不知道Django,但当你说无时,你的意思是变量/数组是空的?另外,您能否在服务器端验证
request.POST.get('interestedIn')
是否确实属于
array
类型?可能是因为您将
interestedIn
作为数组发送。您如何在服务器上反序列化它?或者,可能是数组超出了AJAX请求的范围。很难说这段代码在服务器端没有反序列化-我尝试了客户端,但遇到了一些$errors。我不知道Django,但当你说无时,你的意思是变量/数组是空的?另外,您能否在服务器端验证
request.POST.get('interestedIn')
是否确实属于
array
类型?这是可行的,但将数组作为字符串传输到服务器端需要更多的操作。这是可行的,但将数组作为字符串传输到服务器端需要更多的操作。