Jquery通过ajax发布数组

Dan*_*Dan 5 forms ajax checkbox jquery

我有一个数组(用于复选框),我需要在ajax帖子中传递常规表单,但似乎无法使其工作:

new_data = [a,b,c,d,e];

somedata_assoc = JQuery.param({'choices[]': new_data});

    $.ajax({
        type: "POST",
     url: contract_qurl,
     data: $(div).find("form").serialize()+"&"+somedata_assoc,
     context: $(this),
     success: function(data) { $("#results_table").html(data); }
    });
Run Code Online (Sandbox Code Playgroud)

Yis*_*oel 7

我在这一行收到了一个javascript错误

new_data = [a,b,c,d,e];
Run Code Online (Sandbox Code Playgroud)

我不得不改变它

new_data = ['a','b','c','d','e']; 
Run Code Online (Sandbox Code Playgroud)

你在jQuery中将J大写在这一行

somedata_assoc = JQuery.param({'choices[]': new_data});
Run Code Online (Sandbox Code Playgroud)

应该是这个(或只是$速记)

somedata_assoc = jQuery.param({'choices': new_data});
Run Code Online (Sandbox Code Playgroud)

另外,我认为你不需要括号,在大多数情况下,它们会使在服务器上检索数据变得更加困难


Jon*_*ico 7

在研究之后,唯一对我有用的解决方案是:

url='url/to/page'
choices = [1,2,3,4,5,6]
    $.post(url,{ 'choices[]': choices }, function(data){
          console.log(data);
    },'html');
Run Code Online (Sandbox Code Playgroud)

此外,使用带括号的"选择",这样您就可以在单个变量中在服务器中进行检索,否则它将成为每个数组元素的一个帖子.这对我有用.你可以在stackoverflow上看到另一篇文章.

我希望将来可以帮助某人.