다음과 같은 JavaScript 코드 (JQuery 및 datatable)를 사용하면 오류가 발생합니다. 유형 오류 : undefined is not function. 이 "searchTable = $ (TABLENAME) .dataTable가 ({"오류 와의 소스로하지만 (내가 자바 스크립트의 지식을 제한) 나에게 좋아 보이는 내가 감사하겠습니다에undefined는 dataTable.js가있는 함수가 아닙니다.
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); } }, } }); }); }
크롬 포인트 누군가가이 오류의 원인을 설명 할 수 있다면.
추신 : jquery가 처음으로로드되고 jquery 라이브러리가 하나만로드되었는지 확인 했으므로 데이터 테이블 라이브러리도로드되었음을 확인했습니다. 감사합니다.
당신은 JsFiddle을 추가 할 수 있습니까? – Lakshay
@Lakshay 여기 JsFiddle http://jsfiddle.net/XLW7N/입니다. 그러나 자바 스크립트 코드로 작업하는 grails 컨트롤러가 있어야합니다. – azdonald
@alnafie tableName은 checkTransaction 함수에 전달되는 매개 변수입니다. – azdonald