Javascript 如何在ajax响应后重新绘制数据表
我这里有一个问题,首先我使用select2选择用户后创建数据表,因此数据根据所选用户是动态的,然后旁边有一个更新数据按钮,如果有最新数据,这里用于从API更新数据,因为数据更新的过程没有问题,但是在数据表过程中存在一个问题,即在更新过程之后,数据表不希望被重新绘制Javascript 如何在ajax响应后重新绘制数据表,javascript,jquery,datatables,datatables-1.10,Javascript,Jquery,Datatables,Datatables 1.10,我这里有一个问题,首先我使用select2选择用户后创建数据表,因此数据根据所选用户是动态的,然后旁边有一个更新数据按钮,如果有最新数据,这里用于从API更新数据,因为数据更新的过程没有问题,但是在数据表过程中存在一个问题,即在更新过程之后,数据表不希望被重新绘制 $("#name").on("change",function(){ var cek_id = this.value; $("#user_id").val(cek_id); console.log(cek_id
$("#name").on("change",function(){
var cek_id = this.value;
$("#user_id").val(cek_id);
console.log(cek_id);
$('#getData').DataTable().clear().destroy();
var i = 1;
var VendorClient = $("#getData").DataTable({
order: [ 0, "asc" ],
processing: true,
serverSide: false,
ajax: "{{route('get-user-data')}}"+"/"+cek_id,
columns: [{
data: null,
render: function ( data, type, full, meta ) {
return meta.row+1;
} },
{
data: "fullname",
name: "fullname",
orderable:false
},
{
data: "date",
name: "date",
orderable:false
}
]
});
})
下面是单击数据更新的过程
$("#get_data").on("click",function(){
var cek_id = $("#user_id").val();
var url = "{{route('get-update-data')}}"+"/"+cek_id,
$.ajax({
type: "get",
url: url,
dataType: "json",
success:function(data){
if(data.status=='success'){
$('#getData').data.reload();
}else{
$('#getData').data.reload();
}
}
});
});
我尝试了各种方法,包括为VendorClient创建一个globe变量,然后在响应ajax之后,我添加代码VendorClient.ajax.reloadnull,false;并在promise TypeError中获取错误索引:406 Uncaught:无法读取未定义的属性“ajax”
但它不起作用,有什么想法吗?尝试重新绘制表格:
$('#getData').DataTable().clear().draw();
或
或
$('#getData').DataTable().columns.adjust().draw();
$('#getData').DataTable().columns.adjust().draw(false);