2015-10-16 94 views
2

我正在使用jQuery DataTables,并且我有一个通过Ajax请求加载数据的表。 Ajax源在初始化时被设置。如何更改Ajax请求类型和数据

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

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

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

我只能够改变阿贾克斯源URL,但是,这并不需要改变。

+0

看看https://datatables.net/manual/server-side并使用draw()刷新你的数据 – Vanojx1

回答

0

您可以使用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()时候被调用。