Hola estoy probando la aplicación que hay en el capítulo 7.2 del libro Introducción a AJAX y no me está funcionando. En la consola de Chrome me pone esto:
XMLHttpRequest cannot load http://localhost/holamundo.txt. Origin null is not allowed by Access-Control-Allow-Origin.
Estoy usando Xampp como web server y he puesto un archivo que se llama holamundo.txt
en mi carpeta c:\xampp\htdocs
. También lo he probado en Firefox y tampoco funciona.
Gracias.
Respuestas
Adjunto el código. ¿Alguien tiene idea de lo que puede estar fallando?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Hola Mundo con AJAX</title> <script type="text/javascript"> function descargaArchivo() { // Obtener la instancia del objeto XMLHttpRequest if(window.XMLHttpRequest) { peticion_http = new XMLHttpRequest(); } else if(window.ActiveXObject) { peticion_http = new ActiveXObject("Microsoft.XMLHTTP"); } // Preparar la funcion de respuesta peticion_http.onreadystatechange = muestraContenido; // Realizar peticion HTTP peticion_http.open('GET', 'http://localhost/holamundo.txt', true); peticion_http.send(null); function muestraContenido() { if(peticion_http.readyState == 4) { if(peticion_http.status == 200) { alert(peticion_http.responseText); } } } } window.onload = descargaArchivo; </script> </head> <body></body> </html>
@ChetVicious
@ChetVicious, la causa más común para que salga el error "Origin null is not allowed by Access-Control-Allow-Origin" es que estás probando el ejemplo mediante un archivo local en vez de mediante un servidor. En otras palabras, ¿has guardado este código en un archivo .html
y has pulsado dos veces sobre él para abrirlo en un navegador? Si pruebas a acceder a ese mismo archivo .html
a través de un servidor web instalado en tu ordenador (como por ejemplo, Apache) todo debería funcionar bien.
@javiereguiluz
Efectivamente era eso. Gracias.
@ChetVicious
Hola!
A mi tampoco me funciona la primer aplicación en AJAX. En mi caso, estoy programando en eclipse usando jsp. Tengo instalado la ultima versión del servidor Apache Tomcat.
Mi codigo es el siguiente: [code] <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
[/code]
A mi no me aparece el contenido del fichero. La pagina se queda vacia. He puesto esos alert dentro de muestra contenido para ver el estado de la petición, y en ambos casos es 0. ¿Que puede estar pasando?
Gracias de antemano y un saludo
@miguelrodalb
Hola!
A mi tampoco me funciona la primer aplicación en AJAX. En mi caso, estoy programando en eclipse usando jsp. Tengo instalado la ultima versión del servidor Apache Tomcat.
Mi codigo es el siguiente: [code] <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
[/code]
A mi no me aparece el contenido del fichero. La pagina se queda vacia. He puesto esos alert dentro de muestra contenido para ver el estado de la petición, y en ambos casos es 0. ¿Que puede estar pasando?
Gracias de antemano y un saludo
@miguelrodalb