Javascript 如何解析jquery数据表中的处理状态?
我正在开发一个大型应用程序,其中我必须将大量数据加载到一个页面中,因此我在一个Angluar项目中使用带有服务器端分页的jQuery Datatable。Javascript 如何解析jquery数据表中的处理状态?,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在开发一个大型应用程序,其中我必须将大量数据加载到一个页面中,因此我在一个Angluar项目中使用带有服务器端分页的jQuery Datatable。 问题是,表始终保持在处理状态,并且不加载数据,但在ajax调用后数据会正确显示,但不会显示在表中 这是完整的控制器 (function () { 'use strict'; var host = "http://localhost/"; var table; angular.module('app')
问题是,表始终保持在处理状态,并且不加载数据,但在ajax调用后数据会正确显示,但不会显示在表中 这是完整的控制器
(function () {
'use strict';
var host = "http://localhost/";
var table;
angular.module('app')
.controller('wfCtrl', wfCtrl);
function wfCtrl($scope, $location, $http) {
$scope.selanguage = "FR";
$('#table-container').hide();
$("#loader").append(" <img class='loader' width='50' src='./plugins/datatables/images/loader.gif'></img>")
table = $('#data').DataTable({
"bProcessing": true,
"bServerSide": true,
"ajax": {
url: host + 'api/workflow/' + $scope.selanguage,
type: "get", // type of method ,GET/POST/DELETE
success: function (data) {
console.log(data);
$("#loader").hide();
$('#table-container').show();
},
error: function (data) {
$("#error").append("<p align=center class='loader' style='color:red'> No data found </p>")
$("#loader").hide();
$('#error').show();
console.log(data);
}
},
"columns": [{
"className": 'details-control',
"orderable": false,
"defaultContent": ''
}, {
"data": "worcode"
}, {
"data": "worstatus"
}, {
"data": "worlabel"
}, {
"data": "wordescription"
}, {
"orderable": false,
"defaultContent": "<div class='btn-group'>" +
"<button type='button' class='btn btn-success addstaaa' title='add a step' data-toggle='modal' data-target='#modal-addst'><i class='fa fa-plus'></i></button>" +
"<button type='button' class='btn btn-info'><i class='fa fa-pencil-square-o' title='edit workflow'></i></button>" +
"<button type='button' class='btn btn-danger' title='delete workflow'><i class='fa fa-trash' ></i></button>" +
"</div>"
}
],
"start": 0,
"length": 5
});
}
})();
DataTables ajax文档()表示,您不能为ajax选项提供成功和错误属性,它们是在内部使用的,通过提供它们,您将阻止它处理ajax响应。删除这些数据表,DataTables就可以处理响应了
如果您需要在datatables发出ajax调用之前/之后进行额外处理,您可以将其挂接到事件中,请查看-我删除了它们,但它们的等效事件是什么?因为我需要在失败或成功中执行一些操作,我刚刚读取了onfail操作的错误属性,并且在成功的情况下为datatable添加了initComplete属性,感谢您的回答。请看一下xhr事件。它因成功和失败而被触发,您可以检查响应。如果您只加载一次数据,因为只有在创建初始化数据表时才会加载数据,如果您在任何时候调用ajax.reload(),那么initComplete或init事件都不会给出所需的结果,那么initComplete就可以了。xhr事件专门用于ajax调用。
{"draw":1,"data":[{"worcode":"AAA","wordest":"AVDOSS","worstatus":"ACTIF","worheight":0,"lancode" :"FR","worlabel":"Step","wordescription":"Step"}, {"worcode":"ABB","wordest":"AVDOSS","worstatus":"ACTIF","worheight":0,"lancode" :"EN","worlabel":"Monde","wordescription":"Monde"}],"recordsTotal":23,"recordsFiltered":23}