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

Problemas con Ajax en estos archivos

Estas en el tema de Problemas con Ajax en estos archivos en el foro de Frameworks JS en Foros del Web. Tengo una página web que interactúa con Ajax. El archivo funciones.js Código: addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ob; for(f=1;f<=25;f++) { ob=document.getElementById('enlace'+f); addEvent(ob,'click',presionEnlace,false); } } function ...
  #1 (permalink)  
Antiguo 03/09/2010, 13:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 18 años, 4 meses
Puntos: 0
Problemas con Ajax en estos archivos

Tengo una página web que interactúa con Ajax.
El archivo funciones.js

Código:
addEvent(window,'load',inicializarEventos,false);

function inicializarEventos()
{
  var ob;
  for(f=1;f<=25;f++)
  {
    ob=document.getElementById('enlace'+f);
    addEvent(ob,'click',presionEnlace,false);
  }
}

function presionEnlace(e)
{
  if (window.event)
  {
    window.event.returnValue=false;
    var url=window.event.srcElement.getAttribute('href');
    cargarHoroscopo(url);     
  }
  else
    if (e)
    {
      e.preventDefault();
      var url=e.target.getAttribute('href');
      cargarHoroscopo(url);     
    }
}


var conexion1;
function cargarHoroscopo(url) 
{
  if(url=='')
  {
    return;
  }
  conexion1=crearXMLHttpRequest();
  conexion1.onreadystatechange = procesarEventos;
  conexion1.open("GET", url, true);
  conexion1.send(null);
}

function procesarEventos()
{
  var detalles = document.getElementById("detalles");
  if(conexion1.readyState == 4)
  {
    detalles.innerHTML = conexion1.responseText;
  } 
  else 
  {
    detalles.innerHTML = '';
  }
}

//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}

function crearXMLHttpRequest() 
{
  var xmlHttp=null;
  if (window.ActiveXObject) 
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else 
    if (window.XMLHttpRequest) 
      xmlHttp = new XMLHttpRequest();
  return xmlHttp;
}
Tengo este otro que es el que envía las peticiones a los archivos para que se me abran en la capa detalles:

Código PHP:
<?php
if ($_REQUEST['cod']==1)
include(
'form1.php');
if (
$_REQUEST['cod']==2)
include(
'form2.php');
?>
Ahora estos los llamo con la una referencia como la siguiente desde un archivo index:
Código HTML:
<a href="pagina1.php?cod=1" id="enlace1"> 
Este archivo se carga perfectamente en la capa a través de Ajax, pero cuando de este archivo quiero cargar otro archivo en esta misma capa, el mismo me abre una página nueva.
O sea de este archivo llamo de nuevo a
Código HTML:
<a href="pagina1.php?cod=2" id="enlace2"> 
Me pueden dar una idea de cómo hacer para que esta segunda acción (la de cargar nuevamente otro archivo).

Gracias a todos.
  #2 (permalink)  
Antiguo 03/09/2010, 18:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Problemas con Ajax en estos archivos

te falta revisar si el estado de la conexión fue correcto status == 200:

Código Javascript:
Ver original
  1. if(conexion1.readyState == 4){
  2.     if(conexion1.status == 200) { ...
  #3 (permalink)  
Antiguo 04/09/2010, 10:00
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problemas con Ajax en estos archivos

Bueno la verdad que no entiendo porque tengo que controlar el estado, si al cargar la primera vez funciona. Como no manejo js, no se tampoco que deberia hacer en el proceso if

Código:
if(conexion1.status == 200) { ...
Gracias.
  #4 (permalink)  
Antiguo 04/09/2010, 14:59
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problemas con Ajax en estos archivos

No funciono. Estuve viendo lo del estado y no es la solucion. Sigue sin recargar en el div "detalles" cuando hago una llamada del archivo que si se cargo la primera vez.
Gracias, continuo en la busqueda del problema, saludos.
  #5 (permalink)  
Antiguo 08/09/2010, 20:39
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problemas con Ajax en estos archivos

bueno por mas que lo intente no he podido avanzar. Es decir cuando cargo un archivo en la capa a traves de Ajax, todo anda perfecto. El problema se me presenta cuando quiero llamar a otro archivo desde ese mismo.

Resumiendo: cargo en capa detalles el archivo form1.php, este se carga a traves de ajax (hasta aqui no tengo problemas). Pero cuando desde el archivo form1.php que ya se encuentra en la capa detalles, hago un link a otro archivo para que se me cargue en la misma capa, no sucede. Me tira el resultado de esto en otra pagina nueva.
Si conocen Gmail es parecido al proceso que quiero lograr, por ejemplo este actua asi: voy a Bandeja de entrada y los mensajes se cargan en un div central, cuando hago clic sobre uno en particular el contenido de este se carga directamente sobre la capa donde tenia todos los otros mensajes, o sea capa central. Gracias por todo.

Etiquetas: ajax
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 08:57.