Foros del Web » Programando para Internet » Javascript »

Problema con Ajax

Estas en el tema de Problema con Ajax en el foro de Javascript en Foros del Web. Hola necesito que alguien me ayude con ajax, soy desarrollador junior y pues tengo menos de 1 año en esto y nunca habia tocado ajax, ...
  #1 (permalink)  
Antiguo 27/10/2012, 15:51
Avatar de CapFarrl  
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 55
Antigüedad: 7 años, 1 mes
Puntos: 1
Problema con Ajax

Hola necesito que alguien me ayude con ajax, soy desarrollador junior y pues tengo menos de 1 año en esto y nunca habia tocado ajax, pero bueno tengo un problema quiero que carge en una misma pagina el contenido, sin actualizar esta.

tengo el codigo que estoy haciendo, pero no funca, nose porque, espero ayuda.


Cita:
function llamarasincrono('http://localhost/aldel.php', contenido){
var aldel_pagina = false
if (window.XMLHttpRequest) {
aldel_pagina = new XMLHttpRequest()
}else if(window.ActiveXObject) {
aldel_pagina = new ActiveXObject("Microsoft.XMLHTTP");
}
aldel_pagina.onreadystatechange=function(){
cargarpagina(aldel_pagina, contenido)
}
aldel_pagina.open('GET', 'http://localhost/aldel.php' , true);
aldel_pagina.send(null);
}
function cargarpagina(pagina_requerida, id_contenedor){
if (aldel_pagina.readyState == 4 && (aldel_pagina.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=a ldel_pagina.responseText
}
  #2 (permalink)  
Antiguo 27/10/2012, 16:21
Avatar de CapFarrl  
Fecha de Ingreso: octubre-2012
Ubicación: Lima
Mensajes: 55
Antigüedad: 7 años, 1 mes
Puntos: 1
Respuesta: Problema con Ajax

Alguna ayuda?
  #3 (permalink)  
Antiguo 27/10/2012, 16:29
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 9 años, 7 meses
Puntos: 131
Respuesta: Problema con Ajax

Código Javascript:
Ver original
  1. var obj = false;
  2. //En este caso la variable es global por lo tanto la podras usar en todo el script
  3.  
  4. if(window.XMLHttpRequest)
  5. {
  6. obj = new XMLHttpRequest();
  7. }
  8. else if(ActiveXObject)
  9. {
  10. obj = new ActiveXObject("Microsoft.XMLHTTP");
  11. }
  12.  
  13. //hasta aqui hemos creado el objeto
  14.  
  15. obj.onreadysatechange = contenido;
  16. //cuando la peticion sea enviada al servidor(readyState==1), cuando la peticion llege por completo al servidor(readyState==2),
  17. //cuando el servidor este mandando la respuesta(readyState) y cuando la respuesta completa haya llegado(readyState==4)
  18. //se va a ejecutar la funcion contenido
  19.  
  20. obj.open("GET", "pagina.php",true);
  21. //especificamos el metodo para enviar "GET"
  22. //especificamos la pagina php, si quisieras enviar valores lo debes hacer asi
  23. //obj.open("GET","pagina.php?nombre=valor&nombre=valor",true);
  24. //Lo anterior es para el caso de GET si usaras post debes usar esto
  25. //obj.open("POST","pagina.php",true);
  26. //obj.send(nombre=valor&nombre=valor);
  27.  
  28. obj.send(null);
  29. //como usamos metodo GET por eso ponemos null
  30.  
  31.  
  32. //es la funcion que se ejecuta cada vez que readyState cambia
  33. //en este caso nos interesa readyState 4 que significa que la respuesta esta completa
  34. //status = 200 significa que las cosas salieron bien en el servidor
  35. function contenido()
  36. {
  37. if(obj.readyState == 4 && obj.status == 200)
  38. {
  39. document.getElementById(id_contenedor).innerHTML= obj.responseText;
  40. }
  41. }

saludos
  #4 (permalink)  
Antiguo 27/10/2012, 16:42
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 10 años
Puntos: 168
Respuesta: Problema con Ajax

tenes mucha cosa que no se usa, anda descartando cosas innecesarias.

function llamarasincrono('http://localhost/aldel.php'
eso no es un parametro, se supone que tenes que igualar eso a algun parametro en todo caso, algo como esto

function llamarasincrono(url='http://localhost/aldel.php'
que sería como decir que recibis un parametro llamado url que su valor por defecto es esa url, de todas formas no la usas nunca, asi que no se para que lo pones.

es lo mismo que lo dejes asi
function llamarasincrono(contenido)


aldel_pagina.open('GET', 'http://localhost/aldel.php' , true);
acá no uses http://localhost, usa el nombre del archivo directamente con su ruta

aldel_pagina.open('GET', 'aldel.php' , true);


function cargarpagina(pagina_requerida, id_contenedor){
cuando haces eso pagina_requerida no se para que lo pones como parametro ya que nunca lo usas.

if (aldel_pagina.readyState == 4 && (aldel_pagina.status==200 || window.location.href.indexOf("http")==-1))

eso simplemente cambialo por esto
if (aldel_pagina.readyState == 4 && aldel_pagina.status == 200){



quedaría algo así
Código Javascript:
Ver original
  1. <script>
  2. function llamarasincrono(contenido){
  3. var aldel_pagina = false
  4. if (window.XMLHttpRequest) {
  5. aldel_pagina = new XMLHttpRequest()
  6. }else if(window.ActiveXObject) {
  7. aldel_pagina = new ActiveXObject("Microsoft.XMLHTTP");
  8.                                 }
  9. aldel_pagina.onreadystatechange=function(){
  10. cargarpagina(aldel_pagina, contenido)
  11.                                           }
  12. aldel_pagina.open('GET', 'aldel.php' , true);
  13. aldel_pagina.send(null);
  14.                                   }
  15. function cargarpagina(id_contenedor){
  16. if (aldel_pagina.readyState == 4 && aldel_pagina.status == 200){
  17. document.getElementById(id_contenedor).innerHTML=aldel_pagina.responseText;
  18.                                                               }
  19.                                     }
  20. </script>

Última edición por rodrigo791; 27/10/2012 a las 16:47

Etiquetas: ajax, html, php
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 18:06.