Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

162
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!