Я реализую каталог kardex служащего, где у меня есть 2 инстанции plugin datatables jquery:
Первый просьба реализует правильным способом но вторым наследством ошибку ajax canceled
.
Я не имею очень в просвете, из-за которого выходит эта ошибка, как кажется, она первый просьба опаздывает и способствует тому, чтобы он отменил вторую или не, если это была тема datatables.
То, чего я добился до сих пор, состоит в том, чтобы помещать один delay: 500
в просьбе но этом решении он мне не нравится
какой-то совет?
Способ контролировать возможные ошибки, получив данные vГ - в AJAX, - используя 2 функции.
Пример:
FunciГіn getAllUsers: Ответственная называть данные.
FunciГіn mostrarDatosDataTable: Ответственная наполнять datatable и мочь отображать данные.
VersiГіn Хкери Дататаблес: 1.10.7
//Global variables
var oTableTR;
//función que muestra los datos en el datatable
function mostrarDatosDataTable(result) {
try {
oTableTR = $('#listaDatosDt').DataTable({
"aLengthMenu": [[15, 30, 60, 120, -1], [15, 30, 60, 120, "All"]],
"bProcessing": true,
"scrollX": true,
"aaData": result,
"aoColumns": [
{ "mDataProp": "usuarioId" }, { "mDataProp": "usuarioNombre" }, { "mDataProp": "usuarioDocumento" }, { "mDataProp": "usuarioEstado" }
],
"aaSorting": [[0, "desc"]]
});
} catch (exception) {
message("Error", "Attention", "error");
}
return false;
};
//función que llama los datos
var getAllUsers = function () {
var datae = { 'param': 'param' };
$.ajax({
type: "POST",
url: "WebServices/Usuarios.asmx/GetAllUsers",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(datae),
dataType: "json",
success: function (result) {
var data = result.d;
try {
var dataJson = $.parseJSON(data);
if (dataJson.status === "ok") {
oTableTR = $('#listaDatosDt').DataTable();
oTableTR.destroy();
try {
mostrarDatosDataTable(dataJson.data);
} catch (exception) {
message("Error", "Attention", "error");
}
} else {
if (dataJson.data === "NoSession") {
document.location.href = "index.html?BackPageSession=NoSession";
} else {
message("Error", "Attention", "error");
}
}
} catch (e) {
message("Error", "Attention", "error");
}
},
error: function (error) {
message("Error", "Attention", "error");
}
});
return false;
}
//llamado función
getAllUsers();
Возможно, если твоя проблема - одновременное выполнение различных инстанций pluging с Вашими соответствующими вызовами ajax, я попробовал бы конфигурировать ajax не асинхронной формы (async:false). Desconosco если этот выбор возможный в pluging, но это свойство ajax из-за qie оно было должно функционировать. Удачи!
ты можешь вновь не инициализировать таблицу то, что ты можешь делать, состоит в том, чтобы отлаживать таблицу и вновь заселять ее реестров.
// instancias la tabla
if ( ! $.fn.DataTable.isDataTable('#you_table') ) {
oTable = $('#you_table').dataTable(options);
}else{
oTable = $('#you_table').dataTable();
}
// Limpiar registros
oTable.fnClearTable();
// Poblar la tabla - pueder usar for(){} de javascript o jquery
// yourData representa tu arreglo de kardex del empleado
$.each( yourData , function(index, valor){
oTable.fnAddData(valor);
});
Не возможно повторно включать таблицу, которая уже инициализировалась из-за DataTable
. Для этого ты должен подкреплять, если таблица инициализировалась этой функцией:
if ( ! $.fn.DataTable.isDataTable( '#example' ) ) {
//Inicializar dataTable.
$('#example').dataTable();
}
С этой функцией, не была бы должна отменять тебя вторая просьба, которая появляется в твоем изображении, и продвигаться правильно с остальными просьбами. Здесь документация: Док