jquery - DataTable ajax 重新加载不起作用
问题描述
我尝试了各种方法在 ajax 查询后重新加载我的数据表。但是,它只是行不通。我试过table.ajax.reload()
, , 在和table.api().ajax.reload()
之间切换。他们只是不工作。datatable()
DataTable()
$(document).ready(function() {
var table = $('#organizationTable').DataTable();
$(document).on('click', '.edit-modal', function() {
$('.modal-title').text('Edit User');
$('#id_edit').val($(this).data('id'));
$('#first_name_edit').val($(this).data('first_name'));
$('#last_name_edit').val($(this).data('last_name'));
$('#email_edit').val($(this).data('email'));
$('#user_role_edit').val($(this).data('role_id'));
$('#user_status_edit').val($(this).data('status_id'));
id = $('#id_edit').val();
$('#editModal').modal('show');
});
$('.modal-footer').on('click', '.edit', function() {
if ( $( ".required" ).val().length === 0 ) {
// Usually show some kind of error message here
// Prevent the form from submitting
$('#editModal').modal('show');
event.preventDefault();
} else {
$.ajax({
type: 'PUT',
url: '/users/' + id + '/update',
data: {
'id': $("#id_edit").val(),
'first_name': $("#first_name_edit").val(),
'last_name': $("#last_name_edit").val(),
'email': $("#email_edit").val(),
'role_id': $("#user_role_edit").val(),
'status_id': $("#user_status_edit").val()
},
success: function(data) {
console.log(data);
table.ajax.reload();
}
});
}
});
} );
我在标题中也有一段启动代码。
$( document ).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
dataType: 'json'
});
});
解决方案
重新加载数据表的正确方法是
$('#TableID').DataTable().ajax.reload();
推荐阅读
- python - 我如何优化这个简单的 python pygame 代码
- api - Axios 获得授权不在 Vue 中工作,但在 POSTMAN 上工作(vue 上的 Post 方法工作)
- mysql - 如何快速更新单表中超过 5000 万行?
- postgresql - 从 Postgres 数据库检索后如何处理不同的分辨率 time.Time 对象
- javascript - React Navigation 5 真的很慢并且在 Expo 上丢掉了 JS FPS
- graph - 我们如何比较图聚类结果以在蛋白质-蛋白质相互作用网络中找到相似的基因?
- reactjs - TypeError:无法设置 null React 的属性“src”
- javascript - preventDefault 不会停止提交过程
- game-physics - 如何在 Corona sdk/solar2d 上创建和移动一组弹跳物体?
- ios - SwiftUI:从滚动视图的底部对齐构建视图