Hago salida con json_encode para enviar a javascript, con este código.
<?php include "Connection.php"; $syntax_query = "select * from product"; $thisExecuter = mysqli_query($conn, $syntax_query); $result = array(); while($row = mysqli_fetch_assoc($thisExecuter)){ array_push( $result, array( "id" => $row["product_id"], "name" => $row["product_name"] ) ); } echo json_encode($result); ?>así que la salida se muestra así,
[{"id":"121353568","name":"Baju Casual - Negro"},{"id":"556903232","name":"Tas LV - Rojo"},{"id":"795953280 ","name":"Espada - Madera"},{"id":"834032960","name":"Scooter - Placa de hierro"}]
y código javascript como este
function showHint() { const xmlhttp = new XMLHttpRequest(); xmlhttp.onload = function() { var obj = this.responseText; document.getElementById("txtHint").innerHTML = obj.id; } xmlhttp.open("GET", "Download.php"); xmlhttp.send(); }entonces obj.id no funciona, la salida se muestra sin definir.
Tal vez necesite un JSON.parse en la respuesta, algo como JSON.parse(this.responseText) .
Y también puedo ver que el resultado es una matriz, por lo que deberá iterar obj
obj.forEach(item => { document.getElement("txtHint").innerHTML = item.id; });Utilizo llamadas ajax cuando quiero llamar a un archivo Php y obtener una respuesta de la misma que se muestra a continuación para intentarlo una vez, como lo he mostrado. Antes de moverse con Ajax, debe necesitar que jquery se importe al archivo de llamada.
Si se importa Jquery, ignore los pasos
Aquí hay pasos,
Ahora, este es el ejemplo de ajax para llamar al archivo PHP y obtener una respuesta.
function showHint() { //since you have used GET method I have used here GET but You can use POST also here $.ajax({ url: 'Download.php', type: 'get', //if any value you want to pass then uncomment below line // data: {'name_to_pass':'value'}, //the variable can be accessed in the php file by 'name to pass' under $_GET['name_to_pass'] or $_POST['name_to_pass'] based on type success: function(res) { // open DevTool console to see results console.log(JSON.parse(res)); } }); }debe definir el tipo de respuesta como json
header('Content-Type: application/json; charset=utf-8'); echo json_encode($result);