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

157
Views
No se pueden leer las propiedades de undefined (leyendo 'abortar')

Estoy tratando de escribir la función jquery que enviará una solicitud ajax y tendrá un mensaje de confirmación antes de la solicitud. La solicitud funciona correctamente, pero tengo ese error cuando cancelo la solicitud en el aviso anterior. Aquí está mi código

 $('#AddBug').on('submit',function (e) { var bugNumber = $("#bugNumber").val(); var product = '<?php echo $_GET['product']?>'; var version = '<?php echo $_GET['version']?>'; e.preventDefault(); $.ajax({ type: 'post', beforesending:checkAddBug(), url: 'AddBug.php', data: { bugNumber : bugNumber, product : product, version : version }, success:function(data) { alert(data); //=== Show Success Message== }, error:function(data){ alert(data); //===Show Error Message==== } }); }); function checkAddBug(xhr){ var bugNumber = $("#bugNumber").val(); if(!(confirm('Are you sure to add bug ' + bugNumber + ' to database?'))){ xhr.abort(); } }

Lo que necesito cambiar para evitar ese error en la consola

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Primero, escribió mal el nombre de la función, es beforeSend , no beforesending .

A continuación, no debe llamar a la función de inmediato, como escribió:

antes de enviar: checkAddBug()

En su lugar, proporcione la función sin paréntesis:

 beforeSend: checkAddBug

Además, la función checkAddBug simplemente debería devolver false , si la solicitud debe cancelarse, no es necesario el objeto xhr .

Como se puede ver en los documentos :

Devolver false en la función beforeSend cancelará la solicitud.

Editar: si necesita lógica adicional antes de activar la solicitud

Entonces te recomendaría reestructurar tu código, así:

 $('#AddBug').on('submit', onSubmit); function onSubmit(e) { var bugNumber = $("#bugNumber").val(); var product = '<?php echo $_GET['product']?>'; var version = '<?php echo $_GET['version']?>'; e.preventDefault(); if(confirm('Are you sure to add bug ' + bugNumber + ' to database?')){ // add more checks here if required sendRequest(bugNumber, product, version) } } function sendRequest(bugNumber, product, version) { $.ajax({ type: 'post', url: 'AddBug.php', data: { bugNumber : bugNumber, product : product, version : version }, success:function(data) { alert(data); //=== Show Success Message== }, error:function(data){ alert(data); //===Show Error Message==== } }); }
about 4 years ago · Juan Pablo Isaza 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!