Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/09/2010, 16:49
Avatar de perryjr
perryjr
 
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 13 años, 9 meses
Puntos: 27
Respuesta: Poner en un div un html

Este es el código que debes usar para inicializar el objecto XMLHttpRequest en una variable pongámosle por ejemplo xhr. Luego a partir de ahi debes añadirle el código que tengas para abrir la petición y descargarte las cosas. Este código lo que te quita es la incompatibilida con archivos locales que te dije:

Código Javascript:
Ver original
  1. var xhr = window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
  2.             function() {
  3.                 return new window.XMLHttpRequest();
  4.             } :
  5.             function() {
  6.                 try {
  7.                     return new window.ActiveXObject("Microsoft.XMLHTTP");
  8.                 } catch(e) {}
  9.             }

NOTA: El código lo cogí prestado de la librería jQuery.

Ssi la quieres usar el código enterito para lo que quieres hacer quedaría algo así (mucho más simplificado que tener que iniciar tu el xhr, llamar a la petición, asignarle el onreadystatechange, etc.). Si usas jQuery el código completo queda así:
Código Javascript:
Ver original
  1. $('#id-del-div-donde-se-carga').load('http://direccion.a.cargar.com');
Este código carga el contenido de la dirección que pongas en el div que especifiques.

PARA TERMINAR, RECUERDA:

Que con AJAX no debes cargar páginas enteras a menos que sepas lo que estás haciendo, porque con que lo pienses un poco si tienes una página con su <div> y cargas otra página dentro estarás metiendo el <html>, el <head>, el <body> etc. dentro de un <div>, y eso no tiene sentido. El resultado puede ser imprevisible.

Con AJAX cargas datos, o trozos de página en tu caso. Exclusivamente el trozo que a ti te interese, sin <html><head><body>, etc.

Espero haberme explicado bien, sino preguntame lo que quieras =D