我有以下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库,我确保数据库库也加载了。 感谢。
答案 0 :(得分:0)
引用DataTable库的本地副本解决了这个问题,但是当我使用DataTable CDN时,为什么代码不起作用我很困惑。