JQuery - Problemas al pasar una variable a PHP con AJAX.

 
Vista:
Imágen de perfil de Miguel Angel
Val: 2
Ha aumentado su posición en 4 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Problemas al pasar una variable a PHP con AJAX.

Publicado por Miguel Angel (3 intervenciones) el 18/09/2021 11:01:26
Hola amigos, a ver si podéis echarme una mano que estoy encallado con este asunto.
Estoy haciendo una página Web en la que se muestran algunas imágenes en las que al hacer clic sobre ellas recojo el valor de su ID con jQuery y lo almaceno en una variable. Posteriormente quiero mandar esa variable a un archivo PHP, en el cual después haré una consulta a una base de datos.
El problema estriba en que siempre recibo un valor nulo en ese archivo en PHP y no se exactamente en que me estoy equivocando, ya que mis conocimientos en jQuery y PHP son limitados, por lo que me dirijo a alguno de vosotros a ver si tenéis un hueco en vuestro valioso tiempo y me podéis ayudar.
Agradeciendo de antemano vuestra posible respuesta, os saluda atentamente:
Miguel Ángel Fernández.
Aqui os dejo el fragmento de código HTML y el script de jQuery:
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
<div class="container">
               <div class="row">
                    <div class="col-12 mt-2">
                        <div class="row">
                            <div class="col-6">
                                <a href="#" class="coche">
                                    <img id="seat850" class="mx-auto d-block mr-2 mb-2" src="img/seat850.png" alt=""/>
                                </a>
                            </div>
                            <div class="col-6">
                                <a href="#" class="coche">
                                    <img id="renault8" class="mx-auto d-block ml-2 mb-2" src="img/renault8.png" alt=""/>
                                </a>
                            </div>
                            <div class="col-6">
                                <a href="#" class="coche">
                                    <img id="simca1000" class="mx-auto d-block mr-2 mt-2" src="img/simca1000.png" alt=""/>
                                </a>
                            </div>
                            <div class="col-6">
                                <a href="#" class="coche">
                                    <img id="authiMg1100" class="mx-auto d-block ml-2 mt-2" src="img/authiMg1100.png" alt=""/>
                                </a>
                            </div>
                        </div>
                    </div>
               </div>
          </div>
          <!--jQuery primero, luego Popper.js, luego Bootstrap JS-->
          <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
          integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
          crossorigin="anonymous"></script>
          <script type="text/javascript" src="js/bootstrap.min.js"></script>
          <script>
                $(document).ready(function(){
                    //var car="";
                    $(".coche img").click(function(){
                        var car=$(this).attr("id");
                        alert(car);
                        $.ajax({
                            type: "POST",
                            url : "procesamiento.php",
                            data: car,
                            success: function() {
                                $(location).attr("href","procesamiento.php");
                            }
                        });
                    });
                });
          </script>
Y aqui os dejo el código del archivo procesamiento.php:
1
2
3
4
5
6
7
8
<?php
    $coche=$_POST["car"];
    if(isset($coche)){
        echo "Has clicado sobre el coche: ".$coche.".";
    }else{
        echo "La variable es NULA.";
    }
?>
Ni que decir tiene que al ejecutar esto, siempre se muestra por pantalla el mensaje de que La variable es NULA. De nuevo, Gracias por todo.
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
Imágen de perfil de Kevin

Problemas al pasar una variable a PHP con AJAX.

Publicado por Kevin (2 intervenciones) el 03/11/2021 15:10:16
Hola, Miguel, Saludos.

Trata de poner el Ajax así:

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
    type: "POST",
    url : "procesamiento.php",
    data: {
        'car': car
    },
    dataType: 'json',
 
    success: function() {
        $(location).attr("href","procesamiento.php");
    }
});

Cuando vayas a enviar un ajax a un php, debes pasar la data como un objeto, con clave: valor, así los puedes recibir en el php con la clave que le envías, que en este caso es "car"
Prueba y comentas que tal te fue :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Angel
Val: 2
Ha aumentado su posición en 4 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Problemas al pasar una variable a PHP con AJAX.

Publicado por Miguel Angel (3 intervenciones) el 21/11/2021 20:42:05
Hola Kevin.
Antes que nada agradecerte de corazón la deferencia para conmigo al ayudarme con este problema que hasta ahora no se como solucionar.
He probado a hacerlo como me comentas en tu respuesta pero sin resultados. Por ello y, abusando una vez más de tu valioso tiempo y conocimientos, te agradecería enormemente si fueras tan amable de explicarme un pregunta:
Cuando se ejecuta el código de jQuery, es decir cuando cliqueo sobre cualquiera de las imágenes y envío los datos por Ajax, se debería ejecutar el archivo procesamiento.php y mostrar por pantalla el siguiente texto: "Has clicado sobre el coche: ".$coche.".";
Hago esta pregunta, porque hasta ahora siempre el valor de $coche siempre me sale como nulo y, por tanto, me da la impresión de que es como si ejecutara directamente el archivo procesamiento.php sin haberle enviado datos previamente por jQuery.
En fin, gracias por tu ayuda desinteresada, Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 142
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Problemas al pasar una variable a PHP con AJAX.

Publicado por Horroroso (65 intervenciones) el 27/12/2021 07:22:57
Hola,

Tu problema es precisamente que si esta funcionando... me explico, al funcionar correctamente, se ejecuta el método success, el cual tienes definido como un redireccionamiento a la página procesamiento.php sin ningún parámetro.

Te recomiendo que intentes con:

1
2
3
4
5
6
7
8
9
10
11
$.ajax({
    type: "POST",
    url : "procesamiento.php",
    data: {
        'car': car
    },
    dataType: 'json',
    success: function(data) {
        alert(data);
    }
});

y debe mandarte un mensaje con la respuesta correcta.

Intentalo y me platicas si tienes alguna duda.

Saludos.

-Horroroso-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar