Javascript 如何解析jquery数据表中的处理状态?

Javascript 如何解析jquery数据表中的处理状态?,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在开发一个大型应用程序,其中我必须将大量数据加载到一个页面中,因此我在一个Angluar项目中使用带有服务器端分页的jQuery Datatable。 问题是,表始终保持在处理状态,并且不加载数据,但在ajax调用后数据会正确显示,但不会显示在表中 这是完整的控制器 (function () { 'use strict'; var host = "http://localhost/"; var table; angular.module('app')

我正在开发一个大型应用程序,其中我必须将大量数据加载到一个页面中,因此我在一个Angluar项目中使用带有服务器端分页的jQuery Datatable。
问题是,表始终保持在处理状态,并且不加载数据,但在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}