包含带有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
类型?这是可行的,但将数组作为字符串传输到服务器端需要更多的操作。这是可行的,但将数组作为字符串传输到服务器端需要更多的操作。