将参数传递给jQuery数据表中的sAjaxSource

我正在使用CodeIgniter,我有以下问题。

我在details.php有一个控制器函数,它接受一个参数:

 function details($id) { $this->datatables ->select('product_id, original_amount, quantity') ->from('orders'); echo $this->datatables->generate(); } 

现在我需要从视图中调用它,即我希望DataTables像这样显示它:

  $(document).ready(function() $('#example').dataTable({ ... 'sAjaxSource' : 'admin/data/details', ... });  

那么,如何将参数传递给sAjaxSource键,即$id变量?

您应该使用fnServerParams中指定的fnServerParams

 $(document).ready(function() { $('#example').dataTable( { "bProcessing": true, "bServerSide": true, "sAjaxSource": "scripts/server_processing.php", "fnServerParams": function ( aoData ) { aoData.push( { "name": "more_data", "value": "my_value" } ); } } ); } ); 

我自己也在努力解决这个问题。 John Moses的回答对我不起作用,也提供了链接到新文档的链接,我认为这些链接不适用于旧版本的数据表。

虽然,我发现当前的服务器端处理工作类似于jQuery,其中带有“sAjaxSource”的旧版本不能以这种方式工作。

对我来说,我只是简单地在sAjaxSource的url中添加了我的参数。 所以在你的示例代码中:

 $customPHPvar = "mycustomvar";  

在server_processing.php中

 $_GET['customvar'];