Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/10/2012, 08:38
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Como puedo sustituir el contenido de un <section>?

Cita:
Iniciado por Rafael Ver Mensaje
@Emprear

Con el ejemplito sencillo que pones en tu página demo, me dan ganas de aprender un poco de Ajax. Así que te vas a tener que aguantar a mi lluvia de preguntas.

Primero una aclaración, para ese ejempo sencillo se puede hacer con GET. Y pasar un header sería opcional


1) ¿Por qué un requestHeader?
suponiendo que estamos procesando un form con ajax y queremos usar POST, utilizamos el método requestHeader para indicar que los datos están codificados como en un formulario, en este caso
setRequestHeader("Content-Type","application/x-www-form-urlencoded");
se entiende que el recurso requerido se está solicitando por medio del Ajax, por lo tanto los headers deben de enviarse de la misma forma.

la sintáxis es
objetoAjax.setRequestHeader(nombre del header, valor);

2) ¿Qué son los redyState? ¿Ese número 4, varía conforme tienes más elementos en el menú?
No, no se relaciona con los elementos del menu, cuando hacés una petición por Ajax, entre el envío y la respuesta hay diferentes estados, lee esto primero (donde se describen los posibles valores 0,1,2,3,4)
http://librosweb.es/ajax/capitulo7/m...tprequest.html

De ahi que si está en uno, utilizo
Código Javascript:
Ver original
  1. if (ajax.readyState==1){
  2. document.getElementById(capa).innerHTML = "<img src='ajax-loader.gif' align='center' /><br /> Aguarde por favor...";
  3. }
el famoso gif de cargando
Luego

Código Javascript:
Ver original
  1. if (ajax.readyState == 4){
  2.  if(ajax.status == 200) {
  3. document.getElementById(capa).innerHTML =
  4. ajax.responseText;
  5. }
  6. }

Si está en 4, es que el proceso se completó correctamente, pero, también es posible que la página no exista (ya habrás oído del 404 not found), bueno el status 200, indica que la página fue encontrada, este "status" corresponde a una de las cabeceras HTTP del servidor,

Es decir, verifico ambas condiciones

3) ¿Qué es el status == 200?
lo previo

Quizás te interese esto, que es un poco más complejo

http://foros.emprear.com/ajax/html-css-js-ajax/
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.