AJAX - Descarga de archivo del servido usando AJAX

 
Vista:

Descarga de archivo del servido usando AJAX

Publicado por Miguel (4 intervenciones) el 17/11/2013 22:00:41
Hola a todos,

Estoy iniciandome en la programacion de aplicaciones web usando AJAX. Estoy intentando hacer pruebas para ver el funcionamiento de esta tecnología.

Lo que quiero es mostrar el contenido de un archivo de texto que se encuentra en mi servidor local sin tener que recargar la pagina.

El codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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/*MiAplicacionWeb*/TextFiles/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;

Tras hacer pruebas he comprobado que la petición http nunca llega al estado con codigo 200, por lo tanto no ocurre la alerta con el contenido del archivo.

¿Que es lo que estoy haciendo mal? ¿por que no consigo visualizar el contenido del archivo?

Gracias de antemano y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Descarga de archivo del servido usando AJAX

Publicado por xve (222 intervenciones) el 18/11/2013 07:27:34
Hola Miguel, no entiendo muy bien la url que utilizas...
http://localhost/*MiAplicacionWeb*/TextFiles/HolaMundo.txt yo te diría que es errónea, creo que en una url no pueden haber asteriscos.

También recuerda que no puedes hacer una llamada por ajax a otro dominio que no sea el mismo que lo esta ejecutando.

He probado tu código con una url correcta y funciona perfectamente!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga de archivo del servido usando AJAX

Publicado por Miguel (4 intervenciones) el 18/11/2013 08:47:04
Los arteriscos indican que hay va el nombre de mi aplicación, no hay arteriscos, el nombre de la url es correcto.

Pues si a ti te funciona y a mi no...¿habrá algún problema con la ruta del text file? Sin embargo, si pongo la url del textfile en mi navegador, me aparece el contenido del fichero por pantalla.

No se que puede estar fallando...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Descarga de archivo del servido usando AJAX

Publicado por xve (222 intervenciones) el 18/11/2013 09:11:06
Que navegador utilizas? puede ser que tengas problemas con IE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga de archivo del servido usando AJAX

Publicado por Miguel (4 intervenciones) el 18/11/2013 23:28:58
Lo he probado en todos los navegadores, pero nada.

He puesto fichero en otros directorios, pero nada.¿Tengo que incluir alguna librería? ¿Tengo que instalar algo en el tomcat?

Gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Descarga de archivo del servido usando AJAX

Publicado por xve (222 intervenciones) el 19/11/2013 08:01:57
Hola Miguel, la verdad es que es muy extraño, este código se ejecuta en el navegador, por lo que no tiene nada que ver el servidor web siempre y cuando el archivo exista y pueda ser descargado desde web.
Yo lo probé, y me funciono perfectamente!!!

Has revisado la consola de errores del chrome?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar