如何使用jQuery通过Ajax发送复选框数组的值?

我有一个包含大量表单字段(12 xn行)的表单。 每行中的第一个字段(代表产品)是一个类似于此的复选框:

 

每个复选框的值都是唯一的。

我想要做的是将检查值发送到PHP脚本以通过Ajax进行处理。 我遇到的问题是将ID正确地提供给服务器。 我尝试过几件事,包括:

 $('.ids:checked').serialize(); 

 var ids = []; $('.ids:checked').each(function(i, e) { ids.push($(this).val()); }); $.ajax({ url: "stub", type: "post", dataType: "json", data: { 'ids[]': 'ids[]='+ids.join('&ids[]=') }, success: function(data) { // stub } }); 

但这些都导致在服务器上获取此信息:

 ids[]=104&ids;[]=105 

我可以序列化整个表单并将其发送,但这可能会导致发送大量未使用的数据。

如何仅将delete[]的值发送到服务器? 理想情况下,PHP将其识别为数组?

(我已经通过以逗号分隔的字符串发送ID来解决它,但想知道如何实现这一点,因为我花了足够的时间试图解决它)。

这对我来说很好

      

然后在stub.php上

 var_dump($_POST); 

为什么不将id作为逗号分隔的字符串发送。 您可以在服务器端拆分它并应用与之关联的逻辑。

 var ids = []; $('.ids:checked').each(function(i, e) { ids.push($(this).val()); }); $.ajax({ url: "stub", type: "post", dataType: "json", data: { 'ids[]': ids.join() }, success: function(data) { // stub } });