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

How to change Ajax request type and data

本文关键字:数据 类型 请求 何更改 Ajax      更新时间:2023-09-26

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

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

我正在做这样的事情,但是它不工作:

dt.ajax.type = 'POST';
dt.ajax.data = {<some data here>};
dt.ajax.reload();

我只能更改Ajax源URL,但这并不需要更改。

您可以使用ajax选项定义一个函数来调用$.ajax方法,如下所示:

$('#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
      });
   }
});

这个函数将在初始化和每次调用ajax.reload()时被调用。