Foros del Web » Programando para Internet » Javascript »

HTTP request no devuelve todos los valores

Estas en el tema de HTTP request no devuelve todos los valores en el foro de Javascript en Foros del Web. Buenos dias foro. estoy intentando sacar uno de los valores de un objeto XMLhttpRequest. en concreto, el valor de location utilizando los metodos getAllResponseHeaders() y ...
  #1 (permalink)  
Antiguo 31/07/2013, 05:18
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta HTTP request no devuelve todos los valores

Buenos dias foro.

estoy intentando sacar uno de los valores de un objeto XMLhttpRequest. en concreto, el valor de location

utilizando los metodos getAllResponseHeaders() y getResponseHeader('Location').

no resulta posible acceder a el.

utilizando la herramienta Advanced Rest CLient App, he podido ver que la estructura de la respuesta HEAD es la siguiente

Código HTML:
Redirect
To:http://laurl...archivo.mp4
 with status: 302 Show explanation HTTP/1.1 302 Moved Temporarily
Redirection information has not been cached.
Server: Apache/2.2.14 (Ubuntu) 
Location: http://laurl...arcchivo.mp4 
Content-Language: es-ES 
Content-Type: text/html; charset=ISO-8859-1 
Content-Length: 0 
Expires: Wed, 31 Jul 2013 10:04:15 GMT 
Date: Wed, 31 Jul 2013 10:02:13 GMT 
Connection: keep-alive
Vary: Accept-Encoding 
Status
200 OK Show explanation Loading time: 228
Request headers 
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
Content-Type: text/plain; charset=utf-8 
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es-ES,es;q=0.8
Cookie: odin=banebdyede; 
__utma=.....;
 __utmz=.....
Response headers 
Cache-Control: max-age=2592000 
Content-Length: 93692340 
Content-Type: video/mp4 
Expires: Fri, 30 Aug 2013 09:10:03 GMT 
Last-Modified: Tue, 25 Jun 2013 15:31:25 GMT 
Accept-Ranges: bytes 
Server: Apache/2.2.14 (Ubuntu) 
Date: Wed, 31 Jul 2013 10:02:13 GMT 
Connection: keep-alive
tan solo puedo acceder a los valores delos response headers, pero no a los de Redirect.

Alguien puede indicarme como se hace o por donde encauzar mi busqueda?

gracias

Última edición por gerion_angel; 31/07/2013 a las 05:25 Razón: titulo poco descriptivo
  #2 (permalink)  
Antiguo 31/07/2013, 17:00
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: HTTP request no devuelve todos los valores

buenas...
según yo, ese dato no lo puedes obtener con XMLHttpRequest. fíjate que en esencia, XMLHttpRequest actua como un navegador. cuando el navegador recibe el header Location, automaticamente se redirige a la URL indicada. dicho header no puede permanecer entre todos los headers porque sino provocaría un bucle infinito. lo mismo hace XMLHttpRequest.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 01/08/2013 a las 06:58 Razón: error typo
  #3 (permalink)  
Antiguo 01/08/2013, 00:37
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: HTTP request no devuelve todos los valores

gracias Zerokiller.

alguien sabe como le podria obtener?
  #4 (permalink)  
Antiguo 02/08/2013, 00:51
 
Fecha de Ingreso: mayo-2012
Mensajes: 49
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Respuesta: HTTP request no devuelve todos los valores

sigo sin conseguir acceder a ese 'Location'.

Código:
var req = new XMLHttpRequest();		
		
		req.onreadystatechange = function (){
			try{
				if (req.status > 200){
					alert ("status mayor q 200!!!");
					}
			alert ('status: ' + req.status + ' ready: ' + req.readyState);
			if(req.readyState == 3 && req.status == 200){
				alert (req.getResponseHeader('Location'));
				alert (req.getAllResponseHeaders());
				req.abort();
				}
			if(req.readyState == 4 && req.status >= 300){
				alert ('entra!!');
				alert ('status: ' + req.status + ' ready: ' + req.readyState);
				alert (req.getResponseHeader('Location'));
				alert (req.getAllResponseHeaders());
				req.abort();
				}
			}catch (e){}
no puedo redirigirme hasta la pagina para leerlo en status 302 por que no puedo salir de la aplicacion (phonegap).




existe alguna forma de leerlo como si el status fuera 302?



tambien he intentado cargar la pagina en un div o iFrame con ajax, pero parece posible.

use para ello:

Código:
$("ifrAuxiliar").src = salida;
		 alert(document.getElementById("ifrAuxiliar").contentWindow.document.innerHTML);
		
		$("#divAuxiliar").load(salida);
		alert(document.getElementById("divAuxiliar").innerHTML);
que otra opcion tendria para leer esto desde una aplicacion phonegap?

Última edición por gerion_angel; 02/08/2013 a las 05:25 Razón: ampliar

Etiquetas: location, redirect, response
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:32.