TransWikia.com

no me funciona AJAX de jquery

Stack Overflow en español Asked on November 15, 2021

cabe aclarar que soy nuevo en php y jquery, he intentado varias cosas y no me funciono ninguna…
lo que quiero hacer es que cuando hago click en una fila de una tabla que previamente cargo del servido, quiero que me pase esa informacion de la fila a otra pagina y esos valores los cargo en variables para despues hacer un echo dentro de labels…todo parece funcionar bien, de hecho no arroja error y sale por el .done, pero al parecer la variable superglobal $_POST dice que esta indefinida, por lo que interpreto como vacia…
les paso parte del codigo
aclaro que los enlaces a jquery y el codigo script estan antes de la etiqueta de cierre del body…

este es el codigo script.

      <script src="vendor/jquery/jquery.min.js"></script>
      <script src="https://unpkg.com/@popperjs/core@2/dist/umd/popper.js"></script>
      <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>


      <script type="text/javascript">

     $(document).ready(function () {

      $('.BusquedaRapida tr').click(function(){

           var nombre = $(this).find('td:eq(1)').html();
           var direccion = $(this).find('td:eq(2)').html();
           var telefono = $(this).find('td:eq(3)').html();
           var correo = $(this).find('td:eq(4)').html();
           var localidad = $(this).find('td:eq(5)').html();

         $.ajax({

                url:'historial_clientes.php',
                type:'post',
                data: {nom: nombre,
                      direc: direccion,
                      tel: telefono,
                      cor: correo,
                      loc: localidad},
              })
             .done(function(respuesta) {
                 $(location).attr('href','historial_clientes.php');
             })
              .fail(function() {
                  console.log('Error');   })
             });
    });

si hago un console.log de las variables las imprime perfectamente antes de pasar a la pagina historial_clientes y si hago console.log de respuesta, me trae todo el html de la pagina historial_clientes, no se si eso es correcto…por consola no arroja ningun error!!

la pagina receptora tiene el siguiente codigo de encabezado…

     <?php
     require 'encabezado.php';
     require 'config.php';

      $nombre1 ="";
      $direccion1 ="";
      $telefono1 ="";
      $correo1 ="";
      $localidad1 ="";

      if (isset($_POST['nombre'])) {

         $nombre1 = $_POST['nombre'];
         $direccion1 = $_POST['direccion'];
         $telefono1 = $_POST['telefono'];
         $correo1 = $_POST['correo'];
         $localidad1 = $_POST['localidad'];
    }else{
        echo "No se puede realizar la accion solicitada";
    }

    ?>

siempre sale por el else…. y lo que haria mas abajo es en los labels que nombre anteriormente hago un echo de las variables a las que les otorgo el valor de $_POST…

agradezco de antemano cualquier asesoramiento y este blog es el mas completo de los que he visitado… gracias!!

One Answer

En la petición AJAX estás pasando los siguientes campos:

data: {
    nom: nombre,
    direc: direccion,
    tel: telefono,
    cor: correo,
    loc: localidad},
}

Sin embargo, en el archivo PHP que recibe la petición, estás leyendo estos campos:

$nombre1 = $_POST['nombre'];
$direccion1 = $_POST['direccion'];
$telefono1 = $_POST['telefono'];
$correo1 = $_POST['correo'];
$localidad1 = $_POST['localidad'];

Es decir, los nombres de los campos no coinciden (por ejemplo, nom no es igual a nombre). Por lo que siempre te va a devolver "No se puede realizar la accion solicitada".

Answered by Eduardo Escobar on November 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP