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

201
Views
Pase la variable de cadena javascript a otra página y obtenga la variable en PHP con AJAX

Básicamente, parece que no entiendo el envío de una variable a otra página. He probado sesiones de PHP, cookies de javascript y ajax POST y GET. Estoy tratando de enviar el HTML interno de un div, con los datos creados por una llamada jQuery, una variable llamada savedartists . Se muestra correctamente en console.log en la página de envío, pero $_POST['savedArtists'] no está definido en la página de recepción. He pasado horas mirando diferentes publicaciones en este sitio, pero no he podido hacer que funcione. Cualquier ayuda es apreciada.

 <input class="et_pb_button et_pb_button_0 et_pb_bg_layout_light" onClick="savequote();" type="button" id="savedchoices" value="Commander la prestation" > <script> function savequote() { var savedartists = document.getElementById('selectedList').innerHTML; console.log(savedartists); $.ajax({ type: "POST", url: 'example.com/artiste/mise-en-relation/', data: { savedArtists : savedartists }, success: function(data) { console.log("success!"); location.href = "example.com/artiste/mise-en-relation/"; } }); } </script>

En la página de recepción (example.com/artiste/mise-en-relation/)

 <?php if(isset($_POST['savedArtists'])) { $uid = $_POST['savedArtists']; echo $uid; } else { echo 'zit!'; } ?>

Gracias por tu tiempo

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

0

Capturando como respuesta para futuros lectores...

Básicamente, lo que sucede aquí es que se realizan dos solicitudes a la página de destino. El primero es la solicitud AJAX:

 $.ajax({ type: "POST", url: 'example.com/artiste/mise-en-relation/', data: { savedArtists : savedartists }, success: function(data) { //... } });

Esta es una solicitud POST que contiene los datos que espera y funciona bien. Sin embargo , el resultado de esta solicitud se está ignorando. Ese resultado está disponible en la success de llamada correcta, pero el código no hace nada con él:

 console.log("success!"); location.href = "example.com/artiste/mise-en-relation/";

En cambio, lo que está haciendo el código es realizar una redirección. Esto crea una segunda solicitud a esa misma página (aunque es esencialmente irrelevante que sea la misma página). Esta es una solicitud GET y no contiene datos para enviar al servidor.

En su forma más simple, debe usar AJAX o redirigir al usuario. Actualmente estás mezclando ambos.

Quiero redirigir a la otra página.

En ese caso, AJAX es la herramienta incorrecta para el trabajo. Es posible que ni siquiera necesite JavaScript en absoluto, a menos que desee modificar los elementos/valores de un formulario antes de enviarlo. Pero si todo lo que desea es enviar datos POST a otra página mientras dirige al usuario a esa página, un simple formulario HTML antiguo hace exactamente eso. Por ejemplo:

 <form method="POST" action="example.com/artiste/mise-en-relation/"> <input type="text" name="savedArtists"> <button type="submit">Submit</button> </form>

En este caso, cualquier valor que el usuario ingrese en <input> se incluirá en la solicitud POST a example.com/artiste/mise-en-relation/ cuando el usuario envíe el formulario.

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!