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
}