Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

427
Vistas
Obtener respuesta ajax dentro de dataTable()

Este es mi código existente para la paginación aquí. Recibo un error porque la lista de roleList no está definida.
No sé cómo usar la respuesta ajax dentro de dataTable() . ¿Qué hice mal? Me llamó la atención esta parte durante los últimos 3 días, sin embargo, busqué una solución durante mucho tiempo, pero no pude encontrar una.

 function empRoles() {debugger table = $('#mydata').DataTable({ "ajax": { "type": 'POST', "dataType": 'json', "url": '/Admin/getRolesList', "dataSrc": function (response) { var roleList = response; console.log(roleList) }, "data": { "json": JSON.stringify(roleList) } }, "columns": [{ "data": "sNo" }, { "data": "roleName", "className": "roleName" }, { "data": "roleName", "render": (data, type, row, meta) => ` <button class="btn edit btn-info" id="edit${row.sNo}"> <i class="fa fa-pencil"></i> Edit </button> <button class="btn update btn-success" id="update${row.sNo}"> <i class="fa fa-floppy-o"></i> Update </button> <button class="btn dlt btn-danger" data-toggle="modal" data-target="#confirm" id="delete${row.sNo}"> <i class="fa fa-trash-o"></i> Delete </button> ` , "sortable": false }], "createdRow": (row, data, dataIndex) => { $(row).attr("id", "row" + data.sNo); $('td:eq(1)', row).attr("id", "name" + data.sNo); } }); }

Algún consejo por favor..

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Si entiendo correctamente el problema, creo que la solución más simple sería simplemente inicializar la variable roleList fuera de las opciones.

 function empRoles() { var roleList = []; // or whatever the initial data value should be var table = $('#mydata').DataTable({ // ... "dataSrc": function (response) { roleList = response; console.log(roleList) }, "data": { "json": JSON.stringify(roleList) } // ...
about 4 years ago · Santiago Trujillo Denunciar

0

La parte del código

 "data": { "json": JSON.stringify(roleList) }

se ejecuta antes

 "dataSrc": function (response) { roleList = response; console.log(roleList) }

Por lo tanto, la variable roleList no está disponible para ajax.data.

Puede validar esto poniendo puntos de interrupción en su navegador.

Aquí básicamente está tratando de acceder a la variable de entrada y devolverla al servidor. Lo mismo se puede lograr mediante la propia sección ajax personalizada utilizando funciones como se menciona en este enlace:

https://datatables.net/reference/option/ajax

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda