Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Mi primera aplicación AJAX no funciona

5 de octubre de 2013

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

#1

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

22 octubre 2013, 13:51
#2

@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

22 octubre 2013, 14:34
#3

Efectivamente era eso. Gracias.

@ChetVicious

24 octubre 2013, 12:14
#4

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"%> Primera Aplicacion AJAX

[/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

17 noviembre 2013, 16:47
#5

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"%> Primera Aplicacion AJAX

[/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

17 noviembre 2013, 16:47