【发布时间】:2019-04-21 15:41:42
【问题描述】:
我有一个配置为的数据表
var table = $(".datatable").DataTable({
processing: true,
serverSide: true,
ajax: {
url: $("#datatable").attr("data-search"),
dataType: "JSON",
complete: function (data) {
$(".total-records").html(data.responseJSON.recordsTotal);
$("#maxPageText").html(`of ${table.page.info().pages} <i class="fa fa-chevron-right" style="font-weight:200;"></i>`);
}
},
});
table.ajax.reload();
一切正常,搜索、排序等等。但是,我正在尝试制作一个不同的文本框作为模式中存在的搜索。我正在尝试发送 ajax 请求并使用从该特定 ajax 返回的新数据重建数据表,但它似乎没有用新数据重建。
这是代码
$("body").on("click", ".advance-search", function () {
var type = $(this).attr("data-type");
var value = "";
var search = $(this).attr("data-search");
if (type == "tag") {
value = $("#tagSearchInput").val();
} else {
value = $(".input-advance-search").val();
}
$.ajax({
url: search,
method: "GET",
dataType: "JSON",
data: { "type": type, "value": value, "data": table.data().ajax.params() },
complete: function (data) {
console.log(data.responseJSON);
table.clear().rows.add(data.responseJSON.data).draw();
return false;
}
});
return false;
});
请注意,我在两个地方添加了 return false,因为在此 ajax 请求之后发送了另一个 ajax 请求,该请求似乎来自这一行 table.clear().rows.add(data.responseJSON.data).draw(); 通过堆栈跟踪。
谁能帮忙?
【问题讨论】:
标签: jquery ajax datatable datatables datatables-1.10