2017-05-25 68 views
1

我有我的jQuery的数据表,我添加一些自定义的AJAX PARAMS在fnServerData功能:jQuery的数据表中获取自定义AJAX参数

"fnServerData": function(sSource, aoData, fnCallback, oSettings) { 

    aoData.push({ 
     name: "selection", 
     value: 123456 
    }); 

    oSettings.jqXHR = $.ajax({ 
     "dataType": "json", 
     "type": "POST", 
     "url": sSource, 
     "data": aoData, 
     "success": function(data) { 

      if (data.selection === false) { 
       hideWaiting(); 
      } 

      fnCallback(data); 

     }, 
     "error": function(jqXHR, txtStatus, errorThrown) { 
      console.log(txtStatus, errorThrown); 
     } 
    }); 
}, 

在其他功能,我需要得到所有的AJAX PARAMS:

var ajaxParams = table.ajax.params(); 

我可以在这里得到所有的datatable ajax params,但我找不到我的selection自定义参数。

enter image description here

任何线索?

回答

0

你执行你自己的Ajax请求,正因为如此我假设的DataTable的jQuery是不知道您对aoData阵列已经传递到你自己的功能后的变化。

最简单的解决方法是将aoData存储在全局变量中,并在需要最后一个请求参数时访问它。

否则,您可能需要使用ajaxajax.data初始化选项来让jQuery DataTables自己处理Ajax请求。这样它会知道在由ajax.data选项定义的函数中添加的自定义参数。

+0

令人惊叹......你完全正确!从来没有谈过。 – VAAA