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

120
Views
enviando matriz a través de ajax a php

Quiero enviar una serie de identificadores para las casillas de verificación marcadas a través de ajax a PHP. Sigo obteniendo Undefined array key "progid" . cuando alerté al progid en jQuery obtuve las identificaciones correctas. Sé que es una pregunta duplicada, pero realmente busqué mucho y probé muchas soluciones, nada funciona.

código HTML:

 while($row3 = $result3->fetch_assoc()) { $courseName = $row3['courseName']; $coursePrice = $row3['coursePrice']; $courseId = $row3['id']; $programList .= ' <div class="form-check"> <input type="checkbox" name="course[]" class="form-check-input" id="'.$courseId.'" value="'.$coursePrice.'"> <label class="form-check-label" for="'.$coursePrice.'">'.$courseName .' price is '.$coursePrice.'$</label> </div>'; } echo $programList;

Código jQuery:

 $('#submit').click(function() { var progid = []; $.each($("input[name='course[]']:checked"), function(){ progid.push($(this).attr("id")); }); $.ajax({ type: "POST", url: "test.php", data: progid, success: function(data){ console.log('success: ' + progid); } }); });

codigo php:

 <?php extract($_POST); print_r($_POST); echo ($_POST["progid"]); ?>

Editar: cuando envío los datos a la misma página, funciona y muestra la matriz dentro de un lapso, pero cuando los envío a otro archivo PHP, no funciona, muestra el error.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Debido a que no publicó todo el html, ¿es posible que su evento de envío no esté deshabilitado con event.preventDefault(); y el ajax no se esta ejecutando?

 $('#submit').click(function(e) { e.preventDefault(); ..

https://api.jquery.com/event.preventdefault/

 $.ajax({ type: "POST", url: "test.php", data: {"progid" : progid}, success: function(data) { console.log('success: ' + progid); } });
over 4 years ago · Santiago Trujillo Report

0

Puede usar JSON.stringify() para la matriz:

 $(document).ready(function () { $('#submit').click(function(e) { e.preventDefault(); var progid = []; $.each($("input[name='course[]']:checked"), function(){ progid.push($(this).attr("id")); }); let stringifyProgid = JSON.stringify(progid); $.ajax({ type: "POST", url: "test.php", data: {progid: stringifyProgid}, success: function(data){ console.log('success'); } }); }); });

Y en PHP puedes obtener la matriz:

 <?php $arrProgid = json_decode($_POST["progid"]); var_dump($arrProgid); ?>
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!