Jquery 如何将序列化的表单数据传递给数据表?

Jquery 如何将序列化的表单数据传递给数据表?,jquery,forms,datatables,Jquery,Forms,Datatables,我使用带有服务器端处理程序的数据表。主要代码: $("#dt-flats-build").dataTable({ processing: true, serverSide: true, ajax: { url: "/api.json", data: $('form#filter').serialize() }, }); 我有一个带过滤器的表格。我将表单数据作为附加参数传递给api.json 所以,我只

我使用带有服务器端处理程序的数据表。主要代码:

$("#dt-flats-build").dataTable({
   processing: true,
   serverSide: true,
   ajax: {
                url: "/api.json",
                data: $('form#filter').serialize()
   },
   });
我有一个带过滤器的表格。我将表单数据作为附加参数传递给api.json

所以,我只能逐个传递字段,但不能传递表单中的所有字段。 你有什么想法吗

在这里查看-

默认情况下,DataTables为获取服务器端处理数据而发出的Ajax请求是HTTP GET请求。然而,有时您可能希望使用POST。通过使用ajax初始化选项的type选项,可以很容易地实现这一点

使用-

"ajax": {
        url: "/api.json",
        "type": "POST",
        data: $('form#filter').serialize()
    },

我认为,我找到了解决方案:

ajax: {
  url: "/api.json",
  data: function ( d ) {
  d.form = $('form#filter').serializeArray();
  }
 }

表单放入var“form”

那么为什么不序列化表单对象呢?假设myform是form对象,然后使用$(myform).serialize(),正如您可能看到的,我这样做了。形式#过滤器是形式。我使用jquery对其进行序列化,但在ajax请求中看不到表单的字段。我试过了。加载页面时,它将始终返回原始数据,并且不会拉入新数据。