数据表针对函数调用初始化两次或多次

时间:2019-02-10 02:30:22

标签: jquery ajax datatables

我在最后一次选择onchange事件调用上具有三个选择字段。(功能分类)。 第一次运行它并初始化数据表,但是当第二次事件运行并且函数调用和数据表再次初始化时,则发生错误。 我不知道如何设置格式或如何在函数外部初始化数据表。 我只想一次初始化数据表,但是每次都针对功能调用ajax,这是我的代码 而且,ajax会在第一次使用数据表初始化时自动运行,而第二次在事件运行和函数调用时调用ajax

const WEIGHTS_URL ='http://localhost:1234/web/web_model_ssd/weights_manifest.json';
console.log('starting ........');
window.onload = () => modelPromise = tf.loadFrozenModel(MODEL_URL, WEIGHTS_URL);```

I get this error in console
io_utils.ts:116 Uncaught (in promise) RangeError: byte length of Float32Array should be a multiple of 4
    at new Float32Array (<anonymous>)
    at a (io_utils.ts:116)
    at Object.decodeWeights (io_utils.ts:79)
    at e.<anonymous> (frozen_model.ts:113)
    at callbacks.ts:17
    at Object.next (callbacks.ts:17)
    at i (callbacks.ts:17)


1 个答案:

答案 0 :(得分:1)

您应该在初始化数据表之前检查它是否存在。如果已经初始化,则无需重新启动它。检查以下代码:

function clas(src) {    
            if (!$.fn.DataTable.isDataTable('#user_data')) {
                var dataTable = $('#user_data').DataTable({
                    "processing":true,
                    "serverSide":true,
                    "order":[],
                    "ajax":{
                        url:"requests/add_students/fetch.php",
                        type:"POST",
                        data: {
                            "class_name": 2,
                            "class_section": 3,
                            "class_session": 4
                        }
                    },
                    dom: 'lBfrtip',
                    buttons: [
                        {
                            extend: 'copyHtml5',
                            exportOptions: {
                                columns: [ 0, ':visible' ]
                            }
                        },
                        {
                            extend: 'excelHtml5',
                            exportOptions: {
                                columns: ':visible'
                            }
                        },
                        {
                            extend: 'pdfHtml5',
                            exportOptions: {
                                columns: [1, 2]
                            },
                        },
                        {
                            extend: 'csvHtml5',
                            exportOptions: {
                                columns: [1, 2]
                            },

                        }
                    ],
                    "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
                    "columnDefs": [
                        {
                            "targets": [0, 3, 4],
                            "orderable": false
                        }
                    ]
                });
            }
        }