Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con Jquery, AJAX y PHP

Estas en el tema de Problema con Jquery, AJAX y PHP en el foro de Jquery en Foros del Web. Buenas, intento hacer un Request con AJAX, jQuery a PHP pero no recibo nada, alguna idea? Código: index2.html @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original ...
  #1 (permalink)  
Antiguo 28/08/2014, 10:37
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Problema con Jquery, AJAX y PHP

Buenas, intento hacer un Request con AJAX, jQuery a PHP pero no recibo nada, alguna idea?

Código:

index2.html
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
  6.     <title>jQuery Request AJAX</title>
  7. </head>
  8. <body>
  9.     <section class="container">
  10.         <div class="page-header">
  11.            <h1>jQuery Request AJAX
  12.               <small>Marc Garcia</small>
  13.            </h1>
  14.         </div>
  15.         <article>
  16.             <form>
  17.                 <label for="username">Nombre:<input type="text" name="username" id="username" class="form-control"></label>
  18.                 <label for="password">Pass:<input type="password" name="password" id="password" class="form-control"></label>
  19.                 <input type="button" name="submit" id="submit" class="btn btn-primary" value="Enviar">
  20.             </form>
  21.             <div id="resultado"></div>
  22.         </article>
  23.     </section> 
  24. </body>
  25.     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  26.     <script src="js/bootstrap.min.js"></script>
  27.  
  28.     <script>
  29.         $("submit").click(function () {
  30.             var sendu = $("#username").val();
  31.             var sendp = $("#password").val();
  32.  
  33.             $.ajax({
  34.                 type: "POST",
  35.                 url: "request.php",
  36.                 data: "username="+sendu+"&password="+sendp,
  37.                 dataType: "json",
  38.                 success: function(msg, string, jqXHR) {
  39.                     alert(msg);
  40.                 }
  41.             });
  42.  
  43.         });
  44.     </script>
  45.  
  46. </html>

request.php

Código PHP:
<?php

    $nombre 
$_REQUEST['username'];
    
$password $_REQUEST['password'];

    
$list = array('nombre'=>$nombre'password'=>$password);

    
$c json_encode($list);

    echo 
$c;

?>
  #2 (permalink)  
Antiguo 28/08/2014, 12:32
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema con Jquery, AJAX y PHP

No recibes una respuesta porque nunca realizas la petición. Estás intentando tomar al botón de envío de la manera equivocada. Lo que debes de hacer es tomar al formulario y mediante el método submit, identificar el momento en el que se realiza el envío de los datos para así cancelar dicho evento con el método preventDefault y luego ejecutar el método Ajax. También podrías serializar los datos del formulario con el método serialize, así evitarás tener que tomar uno a uno los datos de cada elemento del formulario.

Código Javascript:
Ver original
  1. $("form").submit(function (event) {
  2.     event.preventDefault(); //Aquí cancelo el envío 'normal' de los datos
  3.  
  4.     $.ajax({
  5.         type: "POST",
  6.         url: "request.php",
  7.         data: $(this).serialize(),
  8.         dataType: "json",
  9.         success: function(msg, string, jqXHR) {
  10.             alert(msg);
  11.         }
  12.     });
  13. });

Por cierto, esto debiste de publicarlo en el sub-foro de jQuery. Tenlo en cuenta para la próxima vez.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 28/08/2014, 19:14
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 19 años, 4 meses
Puntos: 145
Respuesta: Problema con Jquery, AJAX y PHP

te falta agregar el event prevent default dentro de tu funcion $("submit").click(function ()

La manera que te dice Alexis88 es la más adecuada por la simplicidad del manejo de los datos del formulario, pero lo que estás haciendo = debe funcionar si utilizar el event prevent default. Lo que ocurre con tu script es que te está recargando la pagina.

saludos,
__________________
http://chicho.ninja yiaaaa
  #4 (permalink)  
Antiguo 30/08/2014, 13:53
 
Fecha de Ingreso: octubre-2013
Mensajes: 42
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Problema con Jquery, AJAX y PHP

Sigo sin recibir nada, el codigo que me paso Alexis va dentro del evento Click no?
  #5 (permalink)  
Antiguo 30/08/2014, 21:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema con Jquery, AJAX y PHP

No. Todo eso reemplaza a lo que tienes desde la línea 29 a la 43 del código que originalmente mostraste.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, javascript, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:14.