ajax - 使用参数 POST 重新加载 Ajax 数据表
问题描述
我有这样的数据。
var table = $('#rep-ship-plan');
var target = table.attr('data-table');
var fDate = $("#fRange").val();
var tDate = $("#sRange").val();
var BuyerCode = $("#Buyer").val();
var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
if (processing) {
$(this).find('tbody').addClass('load1 csspinner');
} else{
$(this).find('tbody').removeClass('load1 csspinner');
};
} ).DataTable({
"bServerSide": true,
"scrollY": "200px",
"scrollCollapse": true,
"paging": false,
"ajax": {
"url" : host+"datatables",
"type": "POST",
"data" :{
target: target
}
},
"columnDefs": [{
"targets": [ 0 ],
"className": "details-control",
}],
"fnDrawCallback": function(oSetting) {
$('.currency').formatCurrency({symbol: ''});
}
});
但我的问题是当我单击按钮搜索时,我想用数据 POST 重新加载我的表。如何将帖子发送到 ajax 或如何用我的新POST
数据(输入)重新加载我的 ajax?
注意:如果我使用 GET 来制作长 URL,我使用 POST 原因,而我的服务器无法保存它(我在数据表上有 42 列)
解决方案
将事件侦听器附加到您的搜索按钮
$('#searchButtonId').on('click', function(){});
并在您的数据发布时放入您的点击回调函数 DataTable reload 方法
datatable.ajax.reload();
类似的东西
$('#searchButtonId').on('click', function () {
//Grab necessary data and put it into variable 'data'
$.post('/url/to/script/updating/DataTable/source', {
data: //your data here
}, function () {
//Do your stuff on successfully POSTed data
//Refresh your DataTable
datatable.ajax.reload();
});
});
推荐阅读
- javascript - 在 yajra laravel-datatables 上无法搜索布尔值 1 和 0
- function - Composer 在加载依赖项之前自动加载文件
- c# - Properties.Settings 在 VS 2013 CE 中不起作用
- python - 反转字符串 - 赋值前引用的局部变量
- python - 如何读取包含字符串的行,然后在没有该字符串的情况下提取该行
- jquery - 为什么带有 Jekyll 和 bootsratp 的 Modal Popup 只显示最后一个孩子的内容?
- aframe - 如何使用 aframe Daydream 触控板控件?
- linux - 使用 exiftool 将纬度-经度(来自文件)添加到 4000 张图像
- url - AWS Cloudfront Link 不通过网络提供服务
- python - 使用我的 python 函数获取完整数据时出错?