2016-10-03 1 views

Répondre

3

Il semble que cela devrait fonctionner par défaut pour les requêtes AJAX, si vous le vouloir appliquer pour les événements de tri/traitement que vous pourriez avoir besoin de quelque chose comme ce qui suit:

Adapté de https://datatables.net/reference/event/processing Vous aurez probablement veulent déclencher l'APCE sur l'événement de traitement datatable par les sons des choses:

$('#dataTable') 
    .on('processing.dt', function (e, settings, processing) { 
     if(processing){ 
      Pace.start(); 
     } else { 
      Pace.stop(); 
     } 
    }) 
.dataTable(); 
+1

Vous pouvez également utiliser les événements preXhr et xhr si cela ne fonctionne pas automatiquement sur AJAX - https://datatables.net/reference/event/preXhr et https://datatables.net/reference/event/preXhr pour la documentation sur ces événements particuliers. Il devrait être assez trivial d'adapter les exemples ci-dessus à ces événements particuliers (sur 'preXhr.dt' et 'on' xhr.dt') seraient les deux événements qui ont besoin d'accrocher – Brian

+0

Dans mon application, j'ai beaucoup de pages utilisant datatable avec différents ** id ** s. Puis-je définir le paramètre pour globalement au lieu de modifier les codes existants comme réponse? – Cataclysm

+0

C'est le travail que vous avez décrit. Suis-je toujours obligé de mettre l'option ajax de ** pace ** à false? – Cataclysm

1

Eh bien, si vous voulez montrer l'PACE pour chaque demande ajax dans votre application, vous pouvez le spécifier comme ci-dessous

Ajout des options de cadence avant de le charger.

<script> 
     window.paceOptions = { 
      ajax: { 
       trackMethods: ['GET', 'POST', 'PUT', 'DELETE', 'REMOVE'] 
      } 
     }; 

    </script> 
    <script src="../js/progressBar/pace.min.js"></script> 

Ceci affichera votre barre de progression PACE pour chaque requête ajax sur votre serveur.

+0

Oui vous avez raison .. J'avais également lu à ce sujet de [Documentation PACE] (http://github.hubspot.com/pace/) mais je pense que ce n'est pas un effet sur la requête ajax de DataTable. Mais je ne suis pas sûr car je cours sur localhost et la demande est trop rapide. – Cataclysm

+0

Dans mon cas, cela fonctionne parfaitement lors du chargement des 'DataTables' (via la requête ajax de DataTables). Pouvez-vous créer un 'JSFiddle' de votre problème? –

+0

Dans mon cas, cela fonctionne lors du chargement de la première page. Je voudrais obtenir ce sur le déclenchement [recherche dataTable] (https://datatables.net/reference/api/search()) aussi. – Cataclysm