如何使用dataTables实例化不加载数据的表(服务器模式),然后在单击按钮时加载数据。如果serverSide在初始化时设置为true,则表将自动发送ajax请求,然后呈现数据,这不是我想要的(
在看了半天的源代码之后,我终于找到了一个解决方案。首先,我需要一个名为firstAjax的自定义参数,并将其设置为false。这样地:
$("#example").DataTable({
serverSide: true,
ajax: {
url: 'your url'
},
firstAjax: false
});
然后我改变了
_fnReDraw (settings); //in datatables.js line 4717
到
if (settings.oInit.firstAjax) {
_ fnReDraw (settings);
}
如果压缩js文件(datatables.min.js),则应查找_fnReDraw函数对应的别名。
在类似的情况下,我就是这样做的。
<script>
$(function ($) {
$("#tbl").DataTable({columns:[{data:"id"}, {data:"text"}], dom: "tB", buttons: [{ text: "Load Me", action: function (e, dt, node, config) { loadme(e, dt, node, config); } }] });
}
);
// // parameters are passed from the datatable button event handler
function loadme(e, dt, node, config) {
parms = JSON.stringify({ parm1: "one", parm2: "two" });
$.ajax({
// my test web server that returns an array of {id:"code field", text:"country namee"}
url: "WebService1.asmx/GetAList",
data: JSON.stringify({ s: parms }),
type: 'post',
contentType: "application/json; charset=utf-8",
dataType: "json",
// this is just away of passing arguments to the success handler
context:{dt:dt, node:node},
success: function (data, status) {
var contries = JSON.parse(data.d);
for (var i = 0; i < contries.length; i++){
this.dt.row.add(contries[i], "id", "text");
this.dt.draw();
}
},
error: function (one, two) {
debugger;
}
});
}
</script>
</head>
<body>
<div style="width:500px">
<table id="tbl">
<thead>
<tr>
<th>Code</th>
<th>Contru</th>
</tr>
</thead>
<tbody></tbody>
<tfoot></tfoot>
</table>
</div>
</body>
初始化时,应在DataTables参数中使用“iDeferLoading”:0:
var table = $("#table").dataTable({
"bProcessing": true,
"bServerSide": true,
"iDeferLoading": 0,
"sAjaxSource": service_url,
"sServerMethod": "POST",
...
...
(或“延迟加载”:0用于更新的DataTables版本,1.10及更高版本),然后将事件添加到按钮:
$("#button").on("click", function (event) {
$('#table').dataTable().fnDraw();
});
https://datatables.net/examples/server_side/defer_loading.html
本文向大家介绍datatables 初始化最小数据表:,包括了datatables 初始化最小数据表:的使用技巧和注意事项,需要的朋友参考一下 示例 以下代码会将ID为的表tableid转换为DataTable,并返回DataTables API实例: 将此代码与以下代码进行比较,该代码会将表转换为DataTable,但不会返回DataTables API实例: 有关使用DataTables AP
null 连接已建立,但日志中出现以下错误: 未能发布TcpConnectionOpenEvent[Source=TCPNetConnection:LocalHost:37656:1234:187CFBC2-7E5D-4F4E-97DE-1A3B55A4E264],[Factory=ServerConnectionFactory,ConnectionId=LocalHost:37656:1234:
交互过程中,发送请求是第一步。那么,我们将如何构造一个请求呢? 这一章节,我们将一步一步来构建一个 Ajax 请求。学习本节,你将学会: 如何通过 XMLHttpRequest 和 ActiveXObject 来构造一个通用的 xhr 对象。 如何通过 xhr 对象来发送 GET、 POST 等请求。 Content-type 在 Ajax 数据发送中的作用。 那么,接下来让我们进入本节的学习吧。
问题内容: 当我使用JQuery一起发送两个ajax请求时,响应一起出现 例如 ajax.php,ajax2.php是两个文件,其中包含一个虚拟的for循环大约需要5秒钟。 萤火虫萤幕 POST本地主机/ajax.php 200 OK 4.77s POST本地主机/ajax.php 200 OK 4.37s 在这里,每个请求大约需要5秒钟才能执行… 当我在symfony做相同的例子时,我得到了不同
据我所知,在Java11中,这两个操作可以在一行中完成,不是吗?
我正在尝试使用ajax发送post请求,但始终出现以下错误: XMLHttpRequest无法加载http://192.168.1.123:8080。对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。 这是我的代码