Подтвердить что ты не робот

DataTables: Uncaught TypeError: Невозможно прочитать свойства "defaults" из undefined

При использовании интеграции Bootstrap для DataTables я вижу следующую ошибку в консоли:

Uncaught TypeError: Cannot read property 'defaults' of undefined (dataTables.bootstrap.js:20)

Это приводит к тому, что элементы управления pagination не имеют на них стилей.

Я вижу, что в инициализации factory необходимо выполнить следующий код:

factory( jQuery, jQuery.fn.dataTable );

Однако jQuery.fn.dataTable возвращает undefined.

4b9b3361

Ответ 1

Проблема заключается в том, что dataTable не определен в точке, которую вы вызываете этот метод.

Убедитесь, что вы загружаете файлы .js в правильном порядке:

<script src="/Scripts/jquery.dataTables.js"></script>
<script src="/Scripts/dataTables.bootstrap.js"></script>

Ответ 2

У меня такая же ошибка, я использую laravel 5.4 с webpack, здесь package.json before:

{
  ...
  ...
  "devDependencies": {
    "jquery": "^1.12.4",
    ...
    ...
  },
  "dependencies": {
    "datatables.net": "^2.1.1",
    ...
    ...
  }
}

Мне пришлось перемещать пакеты jquery и datatables.net npm под одним из этих "dependencies": {} или "devDependencies": {} в package.json, и ошибка исчезла после:

{
  ...
  ...
  "devDependencies": {
    "jquery": "^1.12.4",
    "datatables.net": "^2.1.1",
    ...
    ...
  }
}

Я надеюсь, что это поможет!