appeler une fonction dans le succès de l'appel ajax datable

est-ce possible d'invoquer une fonction javascript en succès de l'appel ajax datable. Voici le code suis en train d'utiliser,

var oTable = $('#app-config').dataTable(
            {
                "bAutoWidth": false,                                                
                "bDestroy":true,
                "bProcessing" : true,
                "bServerSide" : true,
                "sPaginationType" : "full_numbers",
                "sAjaxSource" : url,                    
                "fnServerData" : function(sSource, aoData, fnCallback) {
                    alert("sSource"+ sSource);
                    alert("aoData"+ aoData);
                    $.ajax({
                        "dataType" : 'json',
                        "type" : "GET",
                        "url" : sSource,
                        "data" : aoData,
                        "success" : fnCallback
                    });
                }

est-il possible d'avoir quelque chose comme:

success : function(){
    //.....code goes here
}

au lieu de" succès": fnCallback ------> qui est la dernière ligne de L'appel AJAX. Dans cette fonction, je voudrais vérifier une valeur d'envoyer depuis le côté serveur. Merci d'avance pour toute aide....

19
demandé sur Ivar 2013-04-03 15:50:37

7 réponses

Vous pouvez utiliser dataSrc:

Voici un exemple typique de datatables.net

var table = $('#example').DataTable( {
    "ajax": {
            "type" : "GET",
            "url" : "ajax.php",
            "dataSrc": function ( json ) {
                //Make your callback here.
                alert("Done!");
                return json.data;
            }       
            },
    "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }

        ]
    } );
30
répondu Joseph Garrone 2016-05-17 06:15:11

Vous pouvez utiliser ceci:

"drawCallback": function(settings) {
   console.log(settings.json);
   //do whatever  
},
16
répondu AnasSafi 2015-07-21 02:57:40

La meilleure façon que j'ai trouvé est d'utiliser le initComplete méthode car elle déclenche après que les données ont été récupérées et rend la table. NOTE cela ne se déclenche qu'une fois.

$("#tableOfData").DataTable({
        "pageLength": 50,
        "ajax":{
            url: someurl,
            dataType : "json",
            type: "post",
            "data": {data to be sent}
        },
        "initComplete":function( settings, json){
            console.log(json);
            // call your function here
        }
    });
13
répondu Chris 2017-06-01 14:40:22

pour les données 1.10.12.

$('#table_id').dataTable({
  ajax: function (data, callback, settings) {
    $.ajax({
      url: '/your/url',
      type: 'POST',
      data: data,
      success:function(data){
        callback(data);
        // Do whatever you want.
      }
    });
  }
});
4
répondu Khalid 2016-08-02 00:28:04
  "success" : function(data){
       //do stuff here
        fnCallback(data);
   }
2
répondu ksealey 2016-07-28 14:19:45

Essayez De Suivre Le Code.

       var oTable = $('#app-config').dataTable(
        {
            "bAutoWidth": false,                                                
            "bDestroy":true,
            "bProcessing" : true,
            "bServerSide" : true,
            "sPaginationType" : "full_numbers",
            "sAjaxSource" : url,                    
            "fnServerData" : function(sSource, aoData, fnCallback) {
                alert("sSource"+ sSource);
                alert("aoData"+ aoData);
                $.ajax({
                    "dataType" : 'json',
                    "type" : "GET",
                    "url" : sSource,
                    "data" : aoData,
                    "success" : fnCallback
                }).success( function(){  alert("This Function will execute after data table loaded");   });
            }
0
répondu The Programmer- Zabith Rafeek 2017-12-28 08:54:42

l'option de succès d'ajax ne doit pas être modifiée car DataTables l'utilise en interne pour exécuter le draw de table lorsque la charge de données est terminée. La recommandation est utilisée pour modifier les données reçues.

0
répondu fgfernandez0321 2018-09-18 18:53:07