У меня есть таблица, которую я создаю с данными, поступающими из MySQL через код PHP и связывающими ее с DataTable, таблица и DataTable работают отлично, но я добавил кнопку удаления для строки таблицы, когда я нажимаю, что она вызываетPHP-сервер, который удаляет запись, чем я вызываю новый PHP, чтобы запросить БД, построить новую таблицу и отправить ее обратно на страницу, все работает нормально, за исключением того, что когда новый запрос отформатирован и помещен в возраст dataTableне является обязательным, вот мой сценарий.
Спасибо
function aa_userDeleteSkill(in_id, in_uid) {
$.ajax( {
url: "user_delete_skill.php",
type: "get", //send it through get method
data: {
id: in_id,
uid: in_uid
},
success: function (response) {
console.log( "success -- delete: " + response );
// cleanup
if ( $.fn.DataTable.isDataTable( '#SkillsUser' ) ) {
$('#SkillsUser').DataTable().destroy();
}
$('#SkillsUser tbody').empty();
// call the rendering function
aa_userSkillRender( in_uid );
jQuery('#SkillsUser').dataTable({
"pageLength": 10,
"ordering": false,
"responsive": true,
"destroy": true,
drawCallback: function(dt) {
//console.log("draw() callback; initializing Select2's.");
//$('.experience-jquerySelect2-tag').select2({tags: true, width: "6em"});
}
});
},
error: function (xhr) {
console.log( "failed -- delete: " + xhr );
}
} );
} // end of fucntion
function aa_userSkillRender( uid ) {
// The following will prevent all future AJAX requests from being cached,
// regardless of which jQuery method you use ($.get, $.ajax, etc.)
$.ajaxSetup({
cache: false
});
// call the backend service
$("#IDuserListSkills").load("./user_render_skill.php?id=" + uid + " #IDuserListSkillsReturned",
function (responseTxt, statusTxt, xhr) {
console.log("responseTxt: " + responseTxt);
if (statusTxt == "success") {
console.log("user_render_skill.php: External content loaded successfully!");
}
if (statusTxt == "error") {
console.log("user_render_skill.php -- Error: " + xhr.status + ": " + xhr.statusText);
}
}
);
} // end of fucntion