datatables-cn icon indicating copy to clipboard operation
datatables-cn copied to clipboard

数据加载了2次

Open HaichaoXU opened this issue 3 years ago • 0 comments

在使用这样的js 加载数据时,接口请求部分只有一次,但是数据加载显示时,会调用2次。

1. 使用DataTables的源(CDN地址、本地源文件)

2. DataTables 1.10.12

3. 开发语言、框架(JQuery)

4. 使用DataTables的配置信息

// 此处填写格式化代码

function loadTableData(Conditions) {
    //请求URL
    var url = '/student/gradeinfo';
    if (!addLoadingIcon('query-btn')) {
        return;
    }


    var querydata = Conditions;
    console.log(querydata);
    console.log(JSON.stringify(querydata));
    //列数据解析
    var columns = [
            {
                "data": "null",
                //"orderable": false,
                // "className": "text-center", //居中显示
                // "title": "序号", //表头
                "render": function (data, type, row, meta) {
                    return meta.row + 1 + meta.settings._iDisplayStart; //切换分页序号 也自动叠加
                    //return meta.row + 1 ; //每页序号重新排序
                },
            },
            {
                "data": 'ID',
                "defaultContent": ''
            },
            {
                "data": "stuname",
                "defaultContent": ""
            },
            {
                "data": "sex",
                "defaultContent": ""
            },
            // {
            //     "data": "age",
            //     "defaultContent": ""
            // },
            {
                "data": "subject",
                "defaultContent": ""
            },
            {
                "data": "grade",
                "defaultContent": ""
            },

            {
                "class": 'opration',
                "data": "null",
                "render": function (val, type, row, meta) {
                    console.log("ddddd");
                    var id = row.ID;
                    var subject = row.subject;
                    var grade = row.grade;
                    var stuname = row.stuname;
                    var mm= returnnumber(row.ID);
                    // var cluckfunc = 'modifyGrade(' + id + "," + subject + "," + grade + "," + stuname + ")'


                    // 查看计划详情
                    // var opBtnHtml = '<a herf="javascript:void(0)" class ="btn btn-primary btn-xs" onclick="taskview(\'' + taskid + '\' )"><i class="fa fa-search"></i>查看计划配置</a>';
                    var opBtnHtml = '<btton  class ="btn btn-primary btn-xs opeartor"' +
                        '  onclick=\'modifyGrade("' + id + '","' + subject + '","' + grade + '"," ' + stuname + '  ")\'><i' +
                    ' class=" fa fa-file-o"></i>修改'+mm+'</btton>';
                    opBtnHtml += '<a herf="javascript:void(0)" class ="btn btn-danger btn-xs opeartor"' +
                        '   onclick=\'deleteGrade("' + id + '","' + subject + '","' + grade + '")\'><i class=" fa' +
                        ' fa-trash-o"></i>删除</a>';

                    return opBtnHtml;
                },
            }
        ]
    ;
    table = $('#task-list').DataTable({
        "destroy": true,
        "info": false,
        "ordering": false,
        "paging": true,
        "searching": false,
        "processing": true,
        "serverSide": false,
        "aLengthMenu": [15, 25, 50],
        "deferRender": true,
        "ajax": {
            "url": url,
            "type": "POST",
            "contentType": 'application/json;charset=utf-8', //设置请求头信息
            "dataType": "json",
            "async": true,
            "data": function (d) {
                return JSON.stringify(querydata);
            },
            dataSrc: function (result) {
                return result;
            },
        },
        "columns": columns,
        "language": dataTableLanguage,
        "initComplete": function (settings, json) {
            //生成分页信息
            $('#task-list').paging(table);
            removeLoadingIcon('query-btn');

        }
    });
}

function returnnumber(numer){
    console.log(numer);
    return numer;
}


function modifyGrade(id, subject, grade, stuname) {
    var openhtml = '/grade/modify';

    localStorage.setItem("id", id);
    localStorage.setItem("subject", subject);
    localStorage.setItem("grade", grade);
    localStorage.setItem("stuname", stuname);
    // location.href = "/student/grade/modify";

    window.open(openhtml);

}


5. 错误信息或截图

6. 其他你认为可以帮助解决问题的信息

HaichaoXU avatar Jul 01 '21 07:07 HaichaoXU