Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda