Creé un servidor Apache en una instancia EC2 que estoy usando para alojar una base de datos mySQL y algunos scripts PHP para acceder a esa base de datos. Instalé lo que creo que son todas las dependencias requeridas en el servidor Apache, hasta el punto en que cuando escribo un script PHP y accedo a él a través de un navegador web usando la barra de direcciones, el script PHP se ejecuta, consulta mi base de datos y regresa la información correcta al navegador web.
Sin embargo, el objetivo de los scripts es que una aplicación Javascript los utilice para acceder a la base de datos a través de AJAX, específicamente un curso de Captivate. Cuando trato de usar AJAX para acceder a los scripts, no pasa nada. Captivate brinda muy poca información sobre el registro de errores, por lo que he intentado usar otros servicios para verificar mi javascript y asegurarme de que funciona, como jsfiddle.net, pero parece que Javascript no es el problema. Aquí está mi código:
function httpGet(theUrl) { var xmlHttp = new XMLHttpRequest(); xmlHttp.open( "GET", theUrl, false ); // false for synchronous request xmlHttp.send(); alert(xmlHttp.responseText); }Mi objetivo no es necesariamente usar Alert para publicar el código en la pantalla, lo estoy usando solo para verificar si obtuve algo en primer lugar. theUrl conduce a un script php en el otro extremo llamado simpleecho.php:
<?php echo "test"; ?>Tengo scripts PHP más complicados, pero también funcionan en el navegador. Si voy a theUrl en una barra de direcciones de un navegador web, veo "prueba". Intenté cambiar de solicitudes Async a Sync, estoy seguro de que el javascript de Captivate puede usar código relacionado con jQuery, probé 8 formas diferentes de enviar la solicitud AJAX como POST y GET, pero no estoy seguro de lo que me estoy perdiendo . Mi instinto dice que hay algo mal configurado con el servidor Apache que impide que responda a solicitudes específicas fuera de mi barra de direcciones, pero no sé lo suficiente sobre cómo configurar mi archivo httpd.conf para saber lo que estoy buscando.
¡Cualquier y todos los consejos y el aprendizaje son apreciados!
La respuesta a esta pregunta fue que no se me permitió usar HTTP para comunicarme con el servidor apache, y debe estar protegido con SSL para usar HTTPS. Intenté usar un certificado autofirmado, pero la versión autofirmada tampoco estaba permitida para usar con un curso de Captivate.