web-dev-qa-db-fra.com

DataTables: Uncaught TypeError: Impossible de lire la propriété 'par défaut' d'undefined

Lors de l'utilisation de intégration Bootstrap pour DataTables, l'erreur suivante apparaît dans la console:

Uncaught TypeError: impossible de lire la propriété 'par défaut' de indéfinie (dataTables.bootstrap.js: 20)

Cela empêche les contrôles de pagination d'avoir des styles.

Je peux voir que dans l'initialisation de l'usine, le code suivant doit être exécuté:

factory( jQuery, jQuery.fn.dataTable );

Toutefois, jQuery.fn.dataTable renvoie undefined.

47
Ryan Kohn

Le problème est que dataTable n'est pas défini au moment où vous appelez cette méthode.

Assurez-vous de charger le .js fichiers dans le bon ordre:

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

J'ai la même erreur, j'utilise laravel 5.4 avec webpack, ici package.json avant:

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

Je devais déplacer jquery et datatables.net Les paquets npm sous l’un de ces "dependencies": {} ou "devDependencies": {} dans package.json et l'erreur a disparu après:

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

J'espère que ça aide!

3
Alan Elias