Por favor, ayúdenme con esto, quiero mostrar el valor en php echo usando una llamada ajax, el código se ejecuta sin errores. el valor se muestra en la consola console.log(id) cuando selecciono las opciones del campo de selección, y el valor que quiero mostrar usando las pantallas de eco en la consola cuando usé console.log(data) .
<script> $('#select-user-id').click(function() { var id = $(this).val(); $.ajax({ url: 'ajax.php', type: 'POST', data: { id: id }, success: function(data) { console.log(id); console.log(data); } }); }) </script>Pero no se muestra en la pantalla del navegador cuando hago eco del valor usando.
$select_id = $_POST['id']; echo "PHP: $select_id";Lo que debe hacer es asignar el valor en un lapso u otras etiquetas html en caso de éxito.
success: function(data) { yourSpan.value = data; }Al igual que lo que mencionó Ainz, lo que querrías hacer es enviar el valor a una etiqueta y mostrarlo allí.
<!-- Be sure that your jQuery file is added --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <select name="select-user-id" id="select-user-id"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> //Add a div as a holder for the returned values from your AJAX file <div class="displayData"></div> <script> $('#select-user-id').on('change', function() { var id = $(this).val(); /* Also make sure that you have the correct path for your file */ $.ajax({ url: 'ajax.php', type: 'POST', data: { "id": id }, success: function(data) { $('.displayData').html(data); } }); }); </script>También puede agregar su variable a la cadena como se muestra a continuación.
<?php $select_id = $_POST['id']; echo 'PHP: '.$select_id; ?>