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....
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" }
]
} );
Vous pouvez utiliser ceci:
"drawCallback": function(settings) {
console.log(settings.json);
//do whatever
},
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
}
});
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.
}
});
}
});
"success" : function(data){
//do stuff here
fnCallback(data);
}
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"); });
}
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.