Javascript 获取数据表错误,can';我不明白为什么:TypeError:d[i]未定义&;TypeError:b.nTableWrapper为空

Javascript 获取数据表错误,can';我不明白为什么:TypeError:d[i]未定义&;TypeError:b.nTableWrapper为空,javascript,jquery,datatables,Javascript,Jquery,Datatables,我们在整个应用程序中使用jQuery DataTables插件,它运行得非常好。然而,当我们尝试在页面上的模式中加载带有模拟数据(服务还没有准备好)的插件时,我们遇到了一个错误。我们得到以下错误(第二个错误发生在您再次单击链接以打开模式后) TypeError:d[i]未定义 TypeError:b.nTableWrapper为空 代码看起来是正确的,所以我想不出来。有人对这个错误有经验吗?我们构建了与示例数据节点相对应的表映射,并且我们还尝试了使用当前工作节点的映射,但没有成功。(它们是按目的

我们在整个应用程序中使用jQuery DataTables插件,它运行得非常好。然而,当我们尝试在页面上的模式中加载带有模拟数据(服务还没有准备好)的插件时,我们遇到了一个错误。我们得到以下错误(第二个错误发生在您再次单击链接以打开模式后)

TypeError:d[i]未定义

TypeError:b.nTableWrapper为空

代码看起来是正确的,所以我想不出来。有人对这个错误有经验吗?我们构建了与示例数据节点相对应的表映射,并且我们还尝试了使用当前工作节点的映射,但没有成功。(它们是按目的分开的)

我已经在小提琴中添加了HTML。但基本上,它只是一个带有ID的简单表——站点中的其他数据表使用相同的结构工作得很好。只是被难住了

var sampleData = [{
        "approvable": true,
        "id": 4938,
        "order_number": "3948948392893",
        "order_template": "AJHSFJKHAS-SDJAS",
        "size": "45mb",
        "size_sort": 4500,
        "ad_type": "testadtype",
        "production_status": "yep!"
    }
];

var makeCampaignApproveModal = function () {

    var $approveParams;
    var $approveComments = $('#approveComments');
    var $approveCampaignForm = $('#approveCampaignForm');
    var $campaignApprove = $('#campaignApprove');
    var $approveCampaignHeader = $campaignApprove.children('h3');
    var $ratingStars = $('#ratingStars');
    var $ratingStar = $('.ratingStar');
    var $ratingApproveCampaign = $('#ratingApproveCampaign');
    var $ratingCancelCampaign = $('#ratingCancelCampaign');

    var init = function () {

        makeCampaignBulkOrders(sampleData);

        //bindings
        $ratingStar.mouseover(function (e) {
            var $this = $(this);
            $this.prevAll().addClass('active');
            $this.nextAll().addClass('inactive');
        });
        $ratingStar.mouseout(function (e) {
            var $this = $(this);
            $this.prevAll().removeClass('active');
            $this.nextAll().removeClass('inactive');
        });

        $ratingStar.on("click", function (e) {
            e.preventDefault();
            var $this = $(this);
            //style prevs
            $this.addClass('selected');
            $this.prevAll().addClass('selected');
            $this.nextAll().removeClass('selected');
            $ratingStars.data('rating', $this.attr('rel'));

        });

        $ratingApproveCampaign.on("click", function (e) {
            e.preventDefault();
            var approveHandler = Portal.Details.synchronousRatingHandler;
            utils.makeProxyCall((actionQueryPath + '/proof/approve'), approveHandler, Portal.Details.proofReturnE);

            callInProgress();
            return false;
        });

        $ratingCancelCampaign.on("click", function (e) {
            e.preventDefault();
            $campaignApprove.modality('close');
        });

        $campaignApprove.addClass('initted');
    }; //init

    if (!$campaignApprove.hasClass('initted')) {
        init();
    }

    aep.utils.setupForm($approveCampaignForm, true, false);
    $ratingStars.data();
    $ratingApproveCampaign.text($l(2019));
    $approveCampaignHeader.html($l(2018) + '<span class="actionModalObjectNumber"></span>');

    updateModalHeader($campaignApprove);

    var curRating = actionDetails['rating'];
    $ratingStar.each(function () {
        var $this = $(this);
        if ($this.attr('rel') <= curRating) {
            $this.addClass('selected');
        } else {
            $this.removeClass('selected');
        }
    });
    $ratingStars.data('rating', curRating);
    $campaignApprove.modality(modalConfig);

};

var makeCampaignBulkOrders = function (coData) {
    var $campaignBulkOrders = $('#campaignBulkOrders');
    var $campaignBulkOrdersTable = $('#bulk-ords-table');
    var DTConfig = {
        'bDestroy': true,
        'bAutoWidth': true,
        'iDisplayLength': -1,
        'bPaginate': false,
        'sScrollY': '200px',
        'bScrollCollapse': true,
        'oLanguage': {
            'sSearch': $l(1024)
        }
    };

    var coData = sampleData || [];
    var coMap = getTableMapBulkOrders();
    var cDTConfig = DTConfig;
    cDTConfig['aaData'] = coData;
    cDTConfig['aaColumns'] = coMap;
    cDTConfig['aaSorting'] = [[1, 'desc']];
    cDTConfig['sScrollY'] = '';
    cDTConfig['bScrollCollapse'] = false;
    $campaignBulkOrders.find('.tableLoading').hide();
    $campaignBulkOrdersTable.dataTable(cDTConfig).fnDraw();
    cDTConfig['aaSorting'] = [];
};

var getTableMapBulkOrders = function () {
    return [{
            oid: 'approvable',
            'sTitle': '',
            'mDataProp': function (source, type, val) {
                if (type == "display") {
                    return '<input type="checkbox" class="campaign-order-approval" rel="' + source.id + '" />';
                }
                return source.id;
            },
            'sClass': 'checkbox'
        },
        {
            oid: 'order_number',
            'sClass': 'order_number',
            'mDataProp': function (source, type, val) {
                var ordNumber = '<a class="detailsLink" href="/portal/details/#orders/' + source.id + '">' + source.order_number + '</a><a href="" title="' + $l(2092) + '" class="orderActionsLink" rel="' + source.id + '"></a>';
                if (type == 'display') {
                    return ordNumber;
                }
                return source['order_number'];
            },
            'sTitle': $l(2089),
            'sClass': 'orderNumber'
        },
        {
            oid: 'order_template',
            'mDataProp': 'order_template',
            'sTitle': $l(2048),
            'sClass': 'order_template'
        }, {
            oid: 'fileSize',
            'mDataProp': function (source, type, val) {
                if (type == "sort") {
                    return source['size_sort'];
                }
                return source['size'];
            },
            'sTitle': $l(2099),
            "sType": "numeric",
            'sClass': 'file_size'
        },
        {
            oid: 'ad_type',
            'mDataProp': 'ad_type',
            'sTitle': $l(2045),
            'sClass': 'ad_type'
        }, {
            oid: 'production_status',
            'mDataProp': 'production_status',
            'sTitle': $l(2097),
            'sClass': 'production_status'
        }
    ];
};
var sampleData=[{
“可接受”:是的,
“id”:4938,
“订单号”:“3948948392893”,
“订单模板”:“AJHSFJKHAS-SDJAS”,
“大小”:“45mb”,
“大小排序”:4500,
“ad_类型”:“TestedType”,
“生产状态”:“是!”
}
];
var MakeActiveApproveModel=函数(){
var$approveParams;
变量$approveComments=$(“#approveComments”);
var$approveCampaignForm=$(“#approveCampaignForm”);
var$campaitApprove=$(“#campaitApprove”);
var$approveCampaignHeader=$campaimprove.children('h3');
var$ratingStars=$(“#ratingStars”);
变量$ratingStar=$('.ratingStar');
var$RatingApproveAmpaign=$(“#RatingApproveAmpaign”);
变量$ratingCancelCampaign=$(“#ratingCancelCampaign”);
var init=函数(){
订单(样本数据);
//绑定
$ratingStar.mouseover(函数(e){
var$this=$(this);
$this.prevAll().addClass('active');
$this.nextAll().addClass('inactive');
});
$ratingStar.mouseout(函数(e){
var$this=$(this);
$this.prevAll().removeClass('active');
$this.nextAll().removeClass('inactive');
});
$ratingStar.on(“点击”),功能(e){
e、 预防默认值();
var$this=$(this);
//风格流行
$this.addClass('selected');
$this.prevAll().addClass('selected');
$this.nextAll().removeClass('selected');
$ratingStars.data('rating'),$this.attr('rel');
});
$RatingApproveAmpaign.on(“单击”,功能(e){
e、 预防默认值();
var approveHandler=Portal.Details.synchronousRatingHandler;
utils.makeProxyCall((actionQueryPath+'/proof/approve')、approveHandler、Portal.Details.proofReturnE);
callInProgress();
返回false;
});
$ratingCancelCampaign.on(“单击”),功能(e){
e、 预防默认值();
$campaignApprove.model('close');
});
$campaitApprove.addClass('initted');
};//初始化
if(!$campaitApprove.hasClass('initted')){
init();
}
aep.utils.setupForm($approveCampaignForm,true,false);
$ratingStars.data();
$RatingApproveAmpaign.text($l(2019));
$approveCampaignHeader.html($l(2018)+'';
UpdateModelHeader($ActivityApprove);
var curRating=actionDetails[“评级];
$ratingStar.每个(函数(){
var$this=$(this);

如果($this.attr('rel')该fiddle没有多大帮助-HTML和外部资源在哪里?您在尝试初始化它之前是否检查了表是否存在?嗨,谢谢。我已将HTML添加到该fiddle中。它与其他文件遵循相同的结构,只是该文件没有呈现。