未定义不是dataTable.js的函数

时间:2014-07-07 12:06:39

标签: javascript datatable

我有以下javascript代码(JQuery和datatable),它给出了错误Uncaught Type错误:undefined不是函数。

  

function checkTransaction(tableName,url,columns){

var columnList = [];
for (var i = 0; i < columns.length; i++){
    columnList.push({
        "data": columns[i]
    });
}

for (var i = 0; i < 1; i++){
    columnList.push({
        "data": "id"
    });
}

$(document).ready(function(){
    var firstname = $("#firstname").val();
    var lastname = $("#lastname").val();
    var startDate = $("#startdate").val();
    var endDate = $("#enddate").val();
    searchTable = $(tableName).dataTable({
        "ordering": false,
        "columns": columnList,
        "columnDefs": [
            {
                "targets": columns.length,
              }
        ],
        "pagingType": "full_numbers",
        "ajax": {
            "url": url,
            type: "POST",
            data: {firstname: firstname, lastname: lastname, startDate: startDate, endDate: endDate},
            "dataSrc": "",
            error: function(xhr, error) {
                if (xhr.status == 400) {
                    alert('Bad Request. [400]');
                }
                else if (xhr.status == 401) {
                    alert('User Unauthorized To Access Resource. [401]');
                }
                else if (xhr.status == 403) {
                    alert('Access To Resource Forbidden [403]');
                }
                else if (xhr.status == 404) {
                    alert('Requested Resource Not Found [404].');
                } else if (xhr.status == 500) {
                    alert('Internal Server Error [500].');
                }
                else if (xhr.status == 503) {
                    alert('Service Unavailable [503].');
                }
                else if (error === 'parsererror') {
                    alert('Requested JSON parsing failed.');
                }
                else if (error === 'timeout') {
                    alert('Time out error.');
                }
                else if (error === 'abort') {
                    alert('Ajax request aborted.');
                }
                else {
                    alert('Uncaught Error.\n' + xhr.responseText);
                }
            },
        }
    });

}); }

Chrome指向此“searchTable = $(tableName).dataTable({”作为错误来源 但它看起来不错(我对Javascript知识有限) 如果有人能解释为什么会出现这个错误,我会很感激。

PS:我确保首先加载了jquery并且只加载了一个jquery库,我确保数据库库也加载了。 感谢。

1 个答案:

答案 0 :(得分:0)

引用DataTable库的本地副本解决了这个问题,但是当我使用DataTable CDN时,为什么代码不起作用我很困惑。