2017-05-25 70 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