Traté de acceder a un archivo .txt almacenado en la carpeta htdocs de mi instalación de xampp usando solo Javascript y no PHP. Solo tengo la intención de usar ajax para procesar un archivo de texto almacenado en el servidor. Este es mi código javascript para hacer una solicitud asíncrona:
(function(global){ var ajaxUtils = {}; function getRequestObject(){ if(window.XMLHttpRequest){ return (new XMLHttpRequest()); } else{ global.alert('Ajax is not supported!'); return(null); } } ajaxUtils.sendGetRequest = function(requestUrl, responseHandler){ var request = getRequestObject(); request.onreadystatechange = function(){ handleResponse(request, responseHandler); }; request.open("GET",requestUrl,true); request.send(null); } function handleResponse(request, responseHandler){ console.log(request.readystate + " " + request.status); if((request.readystate == 4) && (request.status == 200)){ responseHandler(request); } } global.$ajaxUtils = ajaxUtils; })(window);Así es como pasé parámetros a ajaxUtils.sendGetRequest():
document.addEventListener("DOMContentLoaded", function(event){ document.querySelector("button").addEventListener('click', function(){ this.textContent='Said it!'; $ajaxUtils.sendGetRequest('http://localhost/ajax/file.txt',function(request){ var name = request.responseText; var message = "<h2>Hello " + name + '!</h2>'; document.getElementById('content').innerHTML=message; }); }); });El código no funcionó y esto es lo que obtuve en la consola: request.readystate siempre devuelve 'indefinido'
La propiedad 'readystate' de XMLHttprequest puede tener valores 0,1,2,3 o 4, pero aquí siempre devuelve 'indefinido'. ¿Alguien sabe por qué sucedió esto?