【问题标题】:Undefined is not a function with dataTable.js未定义不是 dataTable.js 的函数
【发布时间】:2014-07-07 12:06:38
【问题描述】:

我有以下 javascript 代码(JQuery 和数据表),它给出了错误 Uncaught Type error: undefined is not a function。

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 库,我已经确保数据表库也被加载。 谢谢。

【问题讨论】:

  • 能不能加个JsFiddle
  • @Lakshay 这里是 JsFiddle jsfiddle.net/XLW7N 但请记住,应该有一个使用 javascript 代码的 grails 控制器。
  • @alnafie tableName 是传递给函数 checkTransaction 的参数。

标签: javascript datatable


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-08-11
    • 1970-01-01
    • 2014-06-04
    • 2016-10-04
    • 2015-06-27
    • 2018-05-14
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多