Javascript 如何更改Ajax请求类型和数据

Javascript 如何更改Ajax请求类型和数据,javascript,jquery,ajax,datatables,Javascript,Jquery,Ajax,Datatables,我使用的是jQuery DataTables,我有一个通过Ajax请求加载数据的表。正在初始化时设置Ajax源代码 但是,我现在想将请求类型更改为POST,并在强制重新加载Ajax之前包含一个数据对象 我正在做这样的事情,但不起作用: dt.ajax.type = 'POST'; dt.ajax.data = {<some data here>}; dt.ajax.reload(); dt.ajax.type='POST'; dt.ajax.data={}; dt.ajax.rel

我使用的是jQuery DataTables,我有一个通过Ajax请求加载数据的表。正在初始化时设置Ajax源代码

但是,我现在想将请求类型更改为POST,并在强制重新加载Ajax之前包含一个数据对象

我正在做这样的事情,但不起作用:

dt.ajax.type = 'POST';
dt.ajax.data = {<some data here>};
dt.ajax.reload();
dt.ajax.type='POST';
dt.ajax.data={};
dt.ajax.reload();
我只能更改Ajax源URL,但无需更改。

您可以使用option定义一个函数调用方法,如下所示:

$('#example').dataTable( {
  "ajax": function (data, callback, settings) {
      if(some_condition){
         data.param1 = "A";
         data.param2 = "B";
      }

      $.ajax( {
         "dataType": "json", 
         "type": (some_condition) ? "GET" : "POST", 
         "url": "/json.php", 
         "data": data, 
         "success": callback
      });
   }
});
初始化时和每次调用时都会调用此函数

查看并使用draw()刷新数据