Tengo el siguiente código Ajax en un archivo html:
<script type="text/javascript" src="jquery-3.5.0.min.js"> $.ajax({ method: "GET", url:"nba2019_namelist.php", success:function(res) { $("#playerNames").html(res) } }) </script>
Se supone que esto carga un archivo php (que en realidad solo crea una lista a partir de un csv), pero no funciona. Estoy usando Apache para hacer que php funcione, y cuando voy a http:/localhost/nba2019_namelist.php, mi lista está presente, por lo que estoy bastante seguro de que el archivo php no es el problema. El código ajax está destinado a reemplazar la siguiente lista html:
<div> <ul id="playerNames"> <li><b>Harden</b></li> <li><b>Giannis</b></li> <li><b>Lebron</b></li> <li><b>Booker</b></li> <li><b>Lavine</b></li> <li><b>Westbrook</b></li> <li><b>Jokic</b></li> </ul> </div>
Pero el único resultado cuando cargo la página son los mismos nombres que se escriben aquí, no los creados por mi archivo php. ¿Qué estoy haciendo mal aquí? ¿Debo especificar en Apache httpd.conf qué archivo php quiero cargar? Realmente no conozco ningún Ajax, pero según lo que he visto en los foros, debería funcionar. ¿Qué estoy haciendo mal aquí y qué debo hacer a continuación para solucionar este problema?
Si JQuery es la única solución, házmelo saber, preferiría no aprender nada nuevo en este momento, a menos que sea completamente necesario.
Pude solucionar mi propio problema. Seguí un tutorial en línea que sugería cambiar mi etiqueta vainilla <script>
que contenía mi código ajax para leer <script type="text/javascript" src="jquery.min.js">
. Esto hizo que mi código no funcionara correctamente.
Para resolver esto, cambié mi etiqueta de secuencia de comandos de nuevo a vainilla <script>
y, en su lugar, puse lo siguiente en la parte inferior de mi <head>
: <script type="text/javascript" src="jquery.min.js"></script>
Esto permitió que mi código php se tomara de ajax como se esperaba.
Prueba esto usando fetch:
fetch('nba2019_namelist.php') .then(response=>response.Text()) .then(data => { document.getElementById("playerNames").innerHTML = data; });
Espero que ayude