【发布时间】:2018-01-17 22:48:05
【问题描述】:
我目前正在使用jQuery DataTables 查询一个大型数据源,每个请求运行大约需要2-5 秒。我遇到的问题是用户的输入速度会比这快得多——在前一个请求完成之前触发一个新的 ajax 请求。
DataTables 中是否有某种方法可以使 ajax 请求按顺序触发,即仅在前一个请求完成时才发出新请求?
这是我的代码
$(document).ready(function () {
$("#applicationListServerSide").DataTable({
mark: true,
"processing": true, // for show progress bar
"order": [[0, "desc"]],
"serverSide": true, // for process server side
"filter": true, // this is for disable filter (search box)
"orderMulti": false, // for disable multiple column at once
"searchDelay": 2000,
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
"ajax": {
"url": "/Admin/LoadData",
"type": "POST",
"datatype": "json"
}
});
});
【问题讨论】:
-
看看JS回调函数。
-
不幸的是,查看source 代码,似乎没有办法拦截ajax 调用进行过滤。即使
preXHR事件也不允许您停止ajax 调用。
标签: jquery datatables