AJAX - Enviar parametros por ajax y recargar datatable

 
Vista:

Enviar parametros por ajax y recargar datatable

Publicado por David (1 intervención) el 25/05/2020 21:34:52
Se que hay varias preguntas similares pero ninguna me ha servido para solucionar mi problema. Estoy haciendo una web para cobrar cuotas a socios. Usando php y datatables. en la pagina socios, donde se listan todos en un datatable, en la columna acciones, ademas de los botones editar y eliminar, cree otro (cobrarcuotas) donde la idea es que me direcciones a al php cobrar_cuotas y me muestre en un datatable todas las cuotas pagas de ese socio. tengo el siguiente codigo en el onclick del boton en socios.js

1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).on("click", ".btnCobrar", function(){
    fila = $(this);
    nro_socio = parseInt($(this).closest('tr').find('td:eq(0)').text()) ;
    $.ajax({
        url: "acciones/acciones_cuotas_socios.php",
        type: "POST",
        datatype:"json",
        data:  {nro_socio:nro_socio},
        success: function() {
             window.location.href = "cuotas_socio.php";
           }
        });
    });
el valor del nro de socio lo hace bien y el window.location tambien. no es el mismo archivo la url que la pagina que abro para mostrar la tabla, quizas tenga algo que ver. donde yo envio el nro_socio es en acciones_cuotas_socios.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
include_once '../bd/conexion.php';
$objeto = new Conexion();
$conexion = $objeto->Conectar();
 
$opcion = (isset($_POST['opcion'])) ? $_POST['opcion'] : '';
$nro_socio = (isset($_POST['nro_socio'])) ? $_POST['nro_socio'] : '';
 
 
switch($opcion){
   case 1:
        $consulta = "INSERT INTO socios(nombre, apellido,dni, fecha_nac) VALUES('$nombre', '$apellido', '$dni','$fecha_nac') ";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
 
        $consulta = "SELECT * FROM socios ORDER BY nro_socio DESC LIMIT 1";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
        $data=$resultado->fetchAll(PDO::FETCH_ASSOC);
        break;
    case 2:
        $consulta = "UPDATE socios SET nombre='$nombre', apellido='$apellido', fecha_nac='$fecha_nac', dni='$dni' WHERE nro_socio='$nro_socio' ";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
 
        $consulta = "SELECT * FROM socios WHERE nro_socio='$nro_socio' ";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
        $data=$resultado->fetchAll(PDO::FETCH_ASSOC);
        break;
    case 3:
        $consulta = "UPDATE socios SET id_estado = 2 , fecha_baja = curdate(), fecha_alta = NULL WHERE nro_socio = '$nro_socio'";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
        break;
    case 4:
        $consulta = "SELECT * FROM cuotas_por_socio where nro_socio = '$nro_socio' order by cuota_anio desc";
        $resultado = $conexion->prepare($consulta);
        $resultado->execute();
        $data=$resultado->fetchAll(PDO::FETCH_ASSOC);
        break;
}
 
print json_encode($data, JSON_UNESCAPED_UNICODE);//envio el array final el formato json a AJAX
$conexion=null;
y esto es llamado por cuotas_socios.js que es la que recarga cuotas_socios.php con este codigo cuotas_socio.js
 
$(document).ready(function() {
var nro_socio, opcion;
opcion = 4;
tablaCuotas = $('#tablaCuotas').DataTable({
       "ajax":{
        "url": "acciones/acciones_cuotas_socios.php",
        "method": 'POST', //usamos el metodo POST
        "data":{opcion:opcion}, //envio opcion 4 para que haga un SELECT
        "dataSrc":""
    },
    "language": {
                "lengthMenu": "Mostrar _MENU_ registros",
                "zeroRecords": "No se encontraron resultados",
                "info": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
                "infoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
                "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                "sSearch": "Buscar:",
                "oPaginate": {
                    "sFirst": "Primero",
                    "sLast":"Último",
                    "sNext":"Siguiente",
                    "sPrevious": "Anterior"
                 },
                 "sProcessing":"Procesando...",
            },
    "columns":[
        {"data": "nro_socio"},
        {"data": "cuota_anio"},
        {"data": "id_mes"},
        {"data": "fecha_pago"},
        {"data": "valor_cuota"},
   //     {"data": "id_estado"},
        {"defaultContent": "<div class='text-center'><div class='btn-group'><button class='btn btn-primary btn-sm btnEditar'><i class='material-icons'>edit</i></button><button class='btn btn-danger btn-sm btnBorrar'><i class='material-icons'>delete</i></button></div></div>"}
    ]
});
Error no me tira ninguno.. lo unico que hace es mostra la tabla de cuotas_socios vacia, cuando yo le paso cableado el valor de numero de socio a la consulta me lo muestra perfectamente, o sea que el valor de numero de socio no estaria tomandose por el php. Espero se entienda y me puedan ayudar.. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder