Foros del Web » Programando para Internet » Javascript » Frameworks JS »

GET(url,true) no funciona

Estas en el tema de GET(url,true) no funciona en el foro de Frameworks JS en Foros del Web. Hola, Quiero cambiar de página mediante AJAX pero no sucede nada. El código lo dejo aquí abajo, es muy sencillo y le he dado mil ...
  #1 (permalink)  
Antiguo 08/03/2006, 01:54
Avatar de txus35  
Fecha de Ingreso: mayo-2005
Mensajes: 42
Antigüedad: 18 años, 11 meses
Puntos: 0
GET(url,true) no funciona

Hola,
Quiero cambiar de página mediante AJAX pero no sucede nada. El código lo dejo aquí abajo, es muy sencillo y le he dado mil vueltas sin éxito. El script muestra la alerta "statusText_1" y ajax.statusText vale "OK" pero la página "hola.htm" no se muestra.
Seguro que ustedes le sacan el error. Un saludo.

Código HTML:
<html>
<head>
<script>
function showPage(){
	var ajax=false;
	ajax = new ActiveXObject("Msxml2.XMLHTTP"); //abreviando, tomo método para mi navegador (IE)
	var url="http://www.midominio.com/hola.htm"; //sencilla página estática HTML
	ajax.open("GET", url,true);
	ajax.onreadystatechange=function() {
	 	if (ajax.readyState==1) alert("statusText_0: "+ajax.statusText);	
		if (ajax.readyState==4) {	
			if (ajax.status==200 || ajax.status==304) alert("statusText_1: "+ajax.statusText+"\n"+url);
			else alert("statusText_2: "+ajax.statusText);
			
			delete ajax;
		}//fin if
	 }//fin function onreadystatechange()
	 ajax.send(null);
}//fin function showPage
</script>
</head>
<body>
<a href="javascript:showPage();" target="_self">ver página</a>
</body>
</html> 

Última edición por txus35; 08/03/2006 a las 02:09
  #2 (permalink)  
Antiguo 10/03/2006, 18:32
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
El tema es que no haces nada con la respuesta de tu objeto AJAX además de mostrar tu alert. Dependiendo de como te lleguen los datos, quizá quieras introducirlos directamente en algún div u otro elemento de tu página.

Suponiendo que tienes un <div id="x"></div> para colocar el contenido de la respuesta de tu objeto AJAX dentro de ese div, puedes usar la propiedad responseText de la siguiente forma:

Código:
var elementoDiv=document.getElementById("x");
elementoDiv.innerHTML=ajax.responseText;
Esto lo colocarías dentro de tu status 200, y su utilidad es colocar la totalidad de los datos que tu archivo HTML (en este caso) envía dentro de dicho div.
Dependiendo el formato de los datos que recibas (aquí no tendras problemas ya que lo que recibes es HTML extraído de otra URL), quizá te convenga hacerles algún tratamiento especial para "pasarlos" a HTML, pero eso ya depende de tus necesidades.

Saludos!
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 10/03/2006, 18:44
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading..........

Código PHP:
if (ajax.readyState==1alert("statusText_0: "+ajax.statusText);    
        if (
ajax.readyState==4) {    
            
alert(ajax.responseText);
        }
//fin if
     
}//fin function onreadystatechange() 

hazle eso haber que muestra, si te sale HTML en el alert todo funciono bien y es un problema tuyo con el trato al nuevo contenido (renderizado de nuevo contenido).



connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 08/05/2006, 18:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
cuando trato de mostrar una pagina externa me arroja el siguiente error "permiso denegado", es raro porque cuando lo hago en mi pc funciona bien, me pide confirmacion pero cuando lo subo al servidor ya no funciona y arroja el error.

porque sera?
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 16:58.