JQuery 数据表:数据表重新加载时更新请求/PostData
JQuery Datatable : Update request / PostData on Datatable Reload
我有一个在 JS 模块中定义的 JQuery 数据表。而且,在其他地方,我试图在 Datatable 的 ID 选择器的帮助下重新加载它。在这里,我想传递我遇到问题的新请求 post 数据。
我的尝试:
在模块 A 中:
$(selectors.Datatable)
.DataTable({
bProcessing: true,
serverSide: true,
ajax: {
data: initialPostData,
url: urls.read,
method: 'POST'
},
columns: [...],
autoWidth: false,
searchDelay: 500
});
在模块 B 中:
var newPostData = [...];
var dataTableWidget = $(selectors.datatableSelector).DataTable();
dataTableWidget.ajax.params(newPostData);
dataTableWidget.ajax.reload();
我原以为 dataTableWidget.ajax.params(newPostData);
应该是 ajax 请求中的 post 新数据。但事实并非如此。
更新
params
不会在这里提供帮助。来自文档:
Get the data submitted by DataTables to the server in the last Ajax request
查看 JQuery Datatable 的文档后,我发现这是一种解决方法。
dataTableWidget.settings()[0].ajax.data = newPostData;
dataTableWidget.ajax.reload();
我有一个在 JS 模块中定义的 JQuery 数据表。而且,在其他地方,我试图在 Datatable 的 ID 选择器的帮助下重新加载它。在这里,我想传递我遇到问题的新请求 post 数据。
我的尝试:
在模块 A 中:
$(selectors.Datatable)
.DataTable({
bProcessing: true,
serverSide: true,
ajax: {
data: initialPostData,
url: urls.read,
method: 'POST'
},
columns: [...],
autoWidth: false,
searchDelay: 500
});
在模块 B 中:
var newPostData = [...];
var dataTableWidget = $(selectors.datatableSelector).DataTable();
dataTableWidget.ajax.params(newPostData);
dataTableWidget.ajax.reload();
我原以为 dataTableWidget.ajax.params(newPostData);
应该是 ajax 请求中的 post 新数据。但事实并非如此。
更新
params
不会在这里提供帮助。来自文档:
Get the data submitted by DataTables to the server in the last Ajax request
查看 JQuery Datatable 的文档后,我发现这是一种解决方法。
dataTableWidget.settings()[0].ajax.data = newPostData;
dataTableWidget.ajax.reload();