Почему журнал консоли браузера выдает ошибку «Datatable не является функцией»?

#jquery #laravel #datatable

#jquery #laravel #datatable

Вопрос:

Я использую datatable в своем коде. На моей веб-странице есть одна ссылка, когда я нажимаю на которую отображается datatable, до этого мой код работал нормально, но он не реагировал Я также добавил в свой код требуемый скрипт datatable, но когда я увидел журнал консоли, он показывал ошибку, что datatable не является функцией. Я использую laravel, и ниже приведена ссылка на datatable, которую я добавил.

 $(document).ready(function(){
    $('#exam-result-table').DataTable();
});

$('#show-results').click(function(event) {     
   //alert('hiiii');   
        $.ajax({
                headers: {'X-CSRF-TOKEN': token},
                type: 'POST',
                url: ExamResults,
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                async: false,
        error: function(data){

          },
        success: function(data) {
          console.log("success");
          },
        })
        .done(function (msg) {
            $("#main-exam").empty();
            $('#main-exam').append(msg);
            $('#exam-result-table').DataTable();
        });
});
 

Отображается Datatable, но я не нашел причину, по которой журнал консоли выдает ошибку, и почему мой datatable не реагирует.

Неперехваченная ошибка типа: $(…).DataTable не является
функцией в Object.error (exam_homepage.js:166)
в u (app.js: 3)
в Object.fireWith [как rejectWith] (app.js: 3)
в r (app.js: 4)
в XMLHttpRequest. (app.js: 4)
в Object.send (app.js: 4)
в Function.ajax (app.js: 4)
в HTMLSpanElement. (exam_homepage.js:155)
в HTMLSpanElement.dispatch (jquery.js:3074)
в HTMLSpanElement.elemData.handle (jquery.js:2750)

Комментарии:

1. Как вы добавили скрипт datatable?

Ответ №1:

Вероятно, вам требуется неправильная версия jQuery. попробуйте запросить версию DataTable с включенным jQuery или запросить jQuery 3 перед DataTable.

вы можете создать / загрузить свой DataTable здесь: https://datatables.net/download/index

например. это DataTable с помощью jQuery 3:

 <script type="text/javascript" src="https://cdn.datatables.net/v/dt/jq-3.3.1/dt-1.10.18/datatables.min.js"></script>
 

вы также можете сделать это так (важен порядок):

 <script src="https://code.jquery.com/jquery-3.4.0.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.18/datatables.min.js"></script>
 

вам не следует требовать другого jQuery на той же странице.

Комментарии:

1. Привет @Amirsadjad можете ли вы привести пример кода, чтобы пояснить, как это решит вопрос