我目前正在使用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"
}
});
});发布于 2018-01-18 07:52:06
您可以使用$.ajaxSetup()将ajax配置为进行同步调用。这应该会覆盖基本设置。缺点是该上下文上的所有ajax调用都将是同步的。您需要查看此解决方案是否适用于您的所有情况。否则,您需要根据页面或路由添加此配置。
https://api.jquery.com/jquery.ajaxsetup/
$.ajaxSetup({
async: false
});https://stackoverflow.com/questions/48311256
复制相似问题