Jquery Datatables - 无法访问服务器端自定义参数、fnServerParams、使用 PHP 的 PO


Jquery Datatables - Can't Access Server Side Custom Parameters, fnServerParams, POST method using PHP

http://legacy.datatables.net/usage/server-side <---参考页面

大家好,

我一直在使用数据库编写一些服务器端脚本,并取得了巨大的成功。现在,我正在尝试让fnServerParams方法向PHP发送一些东西。

$(document).ready(function() {
  var my_inventory = $('#my_inventory').dataTable({
    "iDisplayLength": 10,
    "bprocessing": true,
    "bServerSide": true,
    "sAjaxSource": "scripts/my_inventory.php",
    "sServerMethod": "POST",
    "fnServerParams": function(aoData) {
      var character = $('#my_inventory_character').val();
      console.log(character);
      aoData.push({
        "name": "more_data",
        "character": character
      });
    }
  })
);  

我的字符变量工作正常。该脚本可以正常加载数据和客户端属性。它看不到自定义属性。

通常,我通过 PHP 从下面的列表中访问发送的客户端数据属性 - 使用 $_POST['variablenamehere']。

"dl.dropboxusercontent.com/u/44445906/capture/variables.PNG"(不能链接两次以上(

但是,当使用上述方法时 - 我无法访问 $_POST['字符'] 或 $_POST['name']。事实上,空/空。

https://dl.dropboxusercontent.com/u/44445906/capture/sever.PNG

TLDR:

尝试使用 POST 和 PHP 访问自定义参数。似乎只能使用此方法访问标准变量。你是怎么解决这个问题的?

如果不使用 POST,使用 $_GET['变量名'] 会发生同样的事情 - 标准可用.. 自定义不是。

对于那些遇到这个问题的人。您可以通过确保使用数据表 1.10 或更高版本来访问变量,然后在 PHP 中使用 $_GET['more_data']。

数据表中的"name"属性指定发送到服务器端的变量的实际名称。

您不会发送带有"名称"和值为"more_data"的内容。在上面,您发送的是名为"more_data"的内容,其值为"字符"。您要发送的每个新变量都需要另一个具有"名称"和"值"属性的数组。