我正在寻找如何在Java中使用服务器端处理来实现jQuery DataTables。我通过使用以下参数尝试了以下方式。以下是我的jQuery ready
功能代码。
$(document).ready(function() {
//url = http://localhost:8080/jQuery-DataTable-Java-Integration/serverExample
$('#myTableId').DataTable({
"serverSide" : true,
"processing" : true,
/*"bProcessing" : true,
"bServerSide" : true,*/
"ajax" : {
"url" : "serverExample",
"type" : "POST"
},
"columns" : [ {
"data" : "Phone Number"
}, {
"data" : "name"
}, {
"data" : "Email"
} ]
});
});
在我的servlet doPost()方法中,请求参数sEcho为null。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.info("In do post method of server servlet..");
logger.info("sEcho request parameter = " + request.getParameter("sEcho"));//returning null
//other code here
}
我的jQuery DataTables版本是1.10.7。我尝试了两种方式,应该使用哪些参数
serverSide
或bServerside
,但是仍然相同。任何最新更新的工作示例参考都将有所帮助。 最佳答案
在服务器端处理模式下使用DataTables 1.10版本时,客户端会发送draw
参数以及其他参数。完整列表显示在DataTables website上。
DataTables 1.9的早期版本在服务器端处理模式下使用了sEcho
参数,有关更多信息,请参见documentation。
如果您具有为DataTables 1.9编写的服务器端脚本,则可以强制DataTables 1.10发送与先前版本兼容的参数。以下是手册摘录:
较旧的DataTables(1.9-)版本使用了一组不同的参数
从服务器发送和接收。这样写的脚本
对于DataTables 1.10+将无法与DataTables一起使用
1.9-。但是,DataTables 1.10确实具有针对1.9-编写的脚本的兼容模式。此兼容性模式由使用触发
sAjaxSource
参数(而不是新的ajax
参数)或通过设置$.fn.dataTable.ext.legacy.ajax = true;
。
您应该使用serverSide
和processing
,它们是1.10版的首选选项名称,尽管它也接受先前版本的选项名称(bServerSide
和bProcessing
)。
关于jquery - 使用Java的jQuery DataTables服务器端处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30559931/