javascript - 如何在服务器端处理模式下将表单数据与 jQuery DataTables 数据一起发送

标签 javascript jquery datatables

我尝试发布表单数据但没有成功,无法加载数据。

如何将所有带有数组和单个文本框、组合框等的表单数据传递给 fnServerdata

table_obj = $('#group-table').dataTable({
   "sAjaxSource": "URL Goes here",
   fnServerData: function(sSource, aoData, fnCallback,oSettings) {
      oSettings.jqXHR = $.ajax( {
         "dataType": 'json',
         "type": "POST",
         "url": sSource+'?'+$.param(aoData),
         "data": $("#frm").serializeArray(),
         "success": fnCallback
      } );
   },
   aaSorting: [[ 1, "desc" ]],
   bProcessing: true,
   bServerSide: true,
   processing : true,
   columnDefs: [{
        'targets': 0,
        'searchable':false,
        'orderable':false,
        'className': 'dt-body-center',
        'render': function (data, type, full, meta){
            return '<label><input type="checkbox" name="user_id[]" value="' + $('<div/>').text(data).html() + '"></label>';
        }
     }],
   rowCallback: function(row, data, dataIndex){
       // If row ID is in list of selected row IDs
       if($.inArray(data[0], rows_selected) !== -1){
          $(row).find('input[type="checkbox"]').prop('checked', true);
          $(row).addClass('selected');
       }
   },
   iDisplayLength: '50',
});

最佳答案

如果你想格式化POST数据,你也可以使用jquery.each()函数格式化表单数据。让我使用解决方案 #1 使用上面的答案,但使用 jquery .each() 来格式化数据。

$('table').DataTable({
  "ajax": {
     "url": "URL HERE",
     "type": "POST",
     "data": function(d) {
       var frm_data = $('form').serializeArray();
       $.each(frm_data, function(key, val) {
         d[val.name] = val.value;
       });
     }
  }
});

然后您可以像这样在 PHP 中访问它:

var $data = $_POST['name'];

关于javascript - 如何在服务器端处理模式下将表单数据与 jQuery DataTables 数据一起发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31487738/

相关文章:

jquery - 文档 .click 触摸设备的功能

javascript - jquery 数据表 : adding extra column

javascript - 为什么我的加载不起作用

javascript - 想在表单加载时使用 angular js 禁用提交按钮

javascript - 使用 Java 进行 Web 套接字映射

jquery - 如何在 bxslider 上设置幻灯片持续时间

java - 如何仅提交选中的复选框

JavaScript for 循环导致浏览器崩溃

javascript - Backbone JS 数据表集成

php - Codeigniter:如何使用 jQuery 添加带有复选框的列以进行多项选择和删除