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

159
Vistas
Ajax Call no funciona correctamente para una declaración if else específica de una consulta en particular

Aquí está mi código. Estoy bastante seguro de que mi código es correcto, pero no funciona correctamente solo para la última consulta. Todas las consultas restantes funcionan bien, pero la última consulta no devuelve valor con algún objeto que no es accesible. sin embargo, se está produciendo la actualización de la tabla. ¿Lo que está mal? Adjunto la imagen del error que se muestra. Imagen de error

ingrese la descripción de la imagen aquí

Primero el código para la página de inicio:

 <!DOCTYPE html> <head> </head> <body> <form> <input type="text" id='dat'> <button id='submit'>Submit</button> </form> <script src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.2.3.js"> </script> <script> $(function(){ $('#submit').click(function(){ var x=$('#dat').val(); $.ajax({ type:"GET", url: "promo_code_apply2.php", dataType: "json", data: { x : x }, success: function(result){ alert(result); }, error: function(e) { // Handle error here console.log(e); } }); }); }); </script> </body>

Ahora el código para backend:

 <?php include('connection.php'); include('functions.php'); $p_code=$_GET['x']; $sql="select * invite_codes where promo_name='".$p_code."'"; $res=mysqli_query($con,$sql); if(!$res) { $data=mysqli_error($con); echo json_encode($data); die(); } else{ if(mysqli_num_rows($res)==0) { $data="Invalid Code"; echo json_encode($data); } else{ $row=mysqli_fetch_assoc($res); $ph=$row['user_mob']; $sql2="update user_signup set no_of_referrals=no_of_referrals+1 where promo_name='".$p_code."'"; $res2=mysqli_query($con,$sql2); if(!$res2) { $data=mysqli_error($con); echo json_encode($data); die(); } else { $data="Conngrats"; echo json_encode($data); } } } ?>
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No configuró su tipo de botón y, como está dentro del form su tipo predeterminado es enviar. Cuando se presiona su botón, se llama a su controlador de eventos jQuery , pero después de completarlo, se llama a la acción predeterminada, que es la acción de envío de formulario. Recarga su página y su controlador jQuery no obtendrá datos de PHP , porque el estado de JavaScript se restablece después de la recarga. Para evitar este comportamiento, puede:

  1. Ponga return false al final de su controlador de eventos jQuery , así:

    $(function(){ $('#submit1').click(function(){ ... }); return false; // <--- evita la acción predeterminada }); });

o

  1. Establecer tipo de botón type="button"
over 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