Saltar al contenido

DataTables ajax.reload() con parámetros

Investigamos por distintos espacios y de esta forma traerte la respuesta para tu duda, si tienes dificultades puedes dejar la duda y te contestamos con mucho gusto, porque estamos para servirte.

Solución:

Finalmente obtuve la solución, el problema era que estaba demasiado concentrado en lograr mi objetivo a través de DataTable().ajax.reload(). Quería pasar los parámetros por allí de una forma u otra, y eso era incorrecto.

Tuve que cambiar la construcción de la options objeto. Como viste antes, estaba asignando mis parámetros personalizados hacia options objeto como este:

ajax: 
  url: this.jsonApiService.buildURL('/test_getUsers.php'),
  type: 'POST',
  data: this.params,

Dónde data: this.params obtendría los datos de algún lado, en mi caso, tenía 2 oyentes, uno para en eso y otro para actualizando ese cambio this.params valor. Esto, en lugar de un oyente podría ser un onChange()pero el punto es que los parámetros cambian en tiempo de ejecución.

Así que simplemente tuve que poner esto en una función y fusionar los parámetros de DataTable con mis propios parámetros.

Esta es mi solución:

data: function (d) 
    Object.assign(d, myClass.params);
    return d;

Con este options objeto, cuando tengo que actualizar el DataTable enviando nuevos parámetros al servidor, simplemente llamo ajax.reload(). DataTables obtendrá el options objeto con la última data y recargarse.

¡Realmente espero que esto pueda ayudar a alguien! ¡Buen trabajo y feliz codificación!

En algunos casos, es posible que desee cambiar la URL de ajax en tiempo de ejecución o aplicar cualquier parámetro de consulta adicional.

Entonces puedes hacer esto:

var dataTable = $('#example').DataTable(...);    
dataTable.ajax.url('/new-ajax-url?someParam=1').load();

Funciona con la versión v1.10.16 de la biblioteca.

$('#example').dataTable(
  "ajax": 
    "url": "data.json",
    "data": function (d) 
        d.extra_search = $('#extra').val();
    
  
);

entonces simplemente llama:

table.ajax.reload();

Aquí puedes ver las comentarios y valoraciones de los usuarios

Nos puedes auxiliar nuestra labor exponiendo un comentario y puntuándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *