Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2011, 23:12
elmouse19
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba, Argentina
Mensajes: 74
Antigüedad: 14 años, 1 mes
Puntos: 4
Dividir contenido llamado por ajax

Buenas, resulta que tengo una pagina en la que el contenido esta dividido en 2, una cabezera, y luego el contenido en si. La pagina trabaja con ajax, y el contenido y la cabezera estan partes distintas de la pagina, por lo que habia pensando en hacer que el llamado de ajax, llamara a 2 paginas a la vez, pero despues me entere que se puede dividir el contenido que llama ajax. Y encontre este codigo para hacerlo:

Código:
//Esto es JavaScript
//Este eval es el que hace la magia, convierte 
//la respuesta en un objeto del lado del cliente,
//al que puedes acceder a la informacion haciendo
//referencia a los metodos.
respuesta=eval(ajax.responseText);
respuesta=respuesta[0];
document.getElementById(divResultado1).innerHTML=respuesta.respuesta_ajax_div1;
document.getElementById(divResultado2).innerHTML=respuesta.respuesta_ajax_div2;
document.getElementById(divResultado3).innerHTML=respuesta.respuesta_ajax_div3;
El problema es que no se como adaptar mi codigo para q funcione de esa manera. Osea no termino de enteder como ni que cambiar para haga lo q hace el codigo de arriba.
Mi codigo ajax es:

Código:
var Conexion=false; // Variable que manipula la conexion.
 
// funcion que realiza la conexion con el objeto XMLHTTP...
function Conectar()
{
    if(window.XMLHttpRequest)
        Conexion=new XMLHttpRequest(); //mozilla
    else if(window.ActiveXObject)
        Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}
 
function Contenido(idContenido)
{
    /* readyState devuelve el estado de la conexion. puede valer:
     *  0- No inicializado (Es el valor inicial de readyState)
     *  1- Abierto (El método "open" ha tenido éxito)
     *  2- Enviado (Se ha completado la solicitud pero ningun dato ha sido recibido todavía)
     *  3- Recibiendo
     *  4- Respuesta completa (Todos los datos han sido recibidos)
     */
 
    // En espera del valor 4
    if(Conexion.readyState!=4) return;
    /* status: contiene un codigo enviado por el servidor
     *  200-Completado con éxito
     *  404-No se encontró URL
     *  414-Los valores pasados por GET superan los 512
     * statusText: contiene el texto del estado
     */
    if(Conexion.status==200) // Si conexion HTTP es buena !!!
    {
        /* Modificamos el identificador temp con el valor recibido por la consulta
         *  Podemos recibir diferentes tipos de datos:
         *  responseText-Datos devueltos por el servidor en formato cadena
         *  responseXML-Datos devueltos por el servidor en forma de documento XML
         */
        document.getElementById(idContenido).innerHTML=Conexion.responseText;
    }else{
        document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
    }
    
    Conexion=false;
}
 
function Solicitud(Servidor,idContenido)
{
    // Si ya esta conectado, cancela la solicitud en espera de que termine
    if(Conexion) return; // Previene uso repetido del boton.
    
    // Realiza la conexion
    Conectar();
    
    // Si la conexion es correcta...
    if(Conexion)
    {
        /* Preparamos una conexion con el servidor:
         *  POST|GET - determina como se envian los datos al servidor
         *  true - No sincronizado. Ello significa que la página WEB no es interferida en su funcionamiento
         *  por la respuesta del servidor. El usuario puede continuar usando la página mientras el servidor
         *  retorna una respuesta que la actualizará, usualmente, en forma parcial.
         *  false - Sincronizado */
        Conexion.open("GET",Servidor,true);
 
        // Cada vez que el estado de la conexión (readyState) cambie se ejecutara el contenido de esta "funcion()"
        Conexion.onreadystatechange=function()
        {
            Contenido(idContenido);
        }
        
        /* Realiza la solicitud al servidor. Puede enviar una cadena de caracteres, o un objeto del tipo XML
         * Si no deseamos enviar ningun valor, enviamos null */
        Conexion.send(null);
    }else
        document.getElementById(idContenido).innerHTML="No disponible";
}
 
window.onload=function()
{
    Solicitud("seccion/home.html","pagina"); // Inicializamos con la primera pagina
}