Estoy tratando de insertar un script para actualizar div con javascript/ajax. Encontré el siguiente código. No pongo la página prova.asp porque contiene solo una respuesta. Escriba "Hola" (luego modificaré con la consulta de la base de datos). Este código devuelve un error 404 y no entiendo por qué. La única URL es prova.asp y este archivo está en la misma carpeta.
¿Alguien puede decirme dónde me equivoco? el error es mio pero no se cual es
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script type="text/javascript"> //If our user enters data in the username input, then we need to enable our button function OnChangedUsername(){ if(document.form1.newuserid.value == ""){ document.form1.btnCheckAvailability.disabled = true; } else { document.form1.btnCheckAvailability.disabled = false; } } function OnCheckAvailability(){ if(window.XMLHttpRequest){ oRequest = new XMLHttpRequest(); } else if(window.ActiveXObject) { oRequest = new ActiveXObject("Microsoft.XMLHTTP"); } oRequest.open("POST", "prova.asp", true); oRequest.onreadystatechange = UpdateCheckAvailability; oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); oRequest.send("strCmd=availability&strUsername=" + document.form1.newuserid.value); } function UpdateCheckAvailability(){ if(oRequest.readyState == 4){ if(oRequest.status == 200){ document.getElementById("Available").innerHTML = oRequest.responseText; } else { document.getElementById("Available").innerHTML = "Asynchronous Error"; } } } </script> </head> <body> <form method="post" action="javascript:void(0);" name="form1"> <table cellspacing="0"> <tr> <th><label for="newuserid">Username:</label></th> <td><input type="newuserid" name="newuserid" id="newuserid" size="20" onKeyUp="OnChangedUsername();"/></td> <td><input id="btnCheckAvailability" type="button" disabled="disabled" value="Check Availability" onClick="OnCheckAvailability();"></td> <td><div id="Available"></div></td> </tr> </table> </form> </body> </html>Tal vez, el navegador intente ejecutar primero el script. Agregue su script antes de cerrar la etiqueta div .
<body> ... ... <script .... > ..... </script> </body> O intente agregar defer
<body> ... ... <script .... defer> ..... </script> </body> o async
<body> ... ... <script .... async > ..... </script> </body>