El primero es un html (index.html) con un formulario que contiene un input, entre otros. Cada vez que escribo un carácter, se ejecuta una función que llama al archivo probarAjax.php, y que a su vez devuelve una respuesta al primero mediante una instrucción 'echo'. Tan simple (o tan complejo) como eso.
Aunque creo que el código está bien, el problema es que el valor devuelto por el archivo php siempre está vacío o no consigo recogerlo (lo hago con xhttp.responseText).
Gracias por vuestra ayuda.
-----Archivo index.html
Código HTML:
<HTML> <HEAD> <TITLE>Un Titulo </TITLE> <!-- Fichero de jQuery --> <script type="text/javascript" src="jquery-1.11.2.min.js"></script> <script type="text/javascript"> function find(str) { var request = new XMLHttpRequest(); str=$('input:text[name=usuario]').val(); var xhttp = new XMLHttpRequest (); xhttp.open ("GET", "probarAjax.php", true); xhttp.send (false); document.getElementById("livesearch").innerHTML = xhttp.responseText; } </script> </HEAD> <BODY> <H1>Otro titulo, esta vez mas largo. </H1> <form id="frmAnadirUsuario"> <div> <!-- Relacionamos el 'label' con el campo mediante el atributo 'for' que le relaciona con el 'id' correspondiente --> <label for="usuario">Usuario (nif):</label> <!-- Atributo 'required' para que el campo sea obligatorio rellenarlo antes de enviar el formulario --> <input type="text" name="usuario" id="usuario" onkeyup="find(this.value)" autofocus required> <div id="livesearch">-</div> </div> </form> </BODY> </HTML>
Código PHP:
<?php
$response="probando ajaX";
echo $response;
?>