AJAX tiene métodos distintos para cada navegador, y es un poco engorroso (no se pueden reutilizar objetos -y menos a la vez-, no admite parámetros extra, etc), así que normalmente se usa una librería para ello. están las
típicas todoterreno como
prototype,
mootools, etc., pero en mi caso yo me he escrito una librería con cosas que uso habitualmente.
Si quieres usarla, la dirección es:
http://www.dwebresources.com/ngstk/ (todas las herramientas)
http://www.dwebresources.com/ngstk/ngstk.last_stable.full.js (librería en "texto plano", para leer las explicaciones, parámetros, opciones....)
http://www.dwebresources.com/ngstk/ngstk.last_stable.js (librería comprimida, para incluir en tu página).
Las funciones que te interesa es sendAndRecieve. Se llamaría así:
ngstk.ajax.sendAndRecieve(url, params, metodo, okfn, statusfn, errorfn, extra);
url: la de destino
params: Parámetros a añadir en la URL. Es lo que quieres enviar al servidor, como pueden ser variables, etc.
metodo: GET para peticiones normales o POST para formularios son los valores típicos.
okfn: Si pasas una función (sin los "()") se llamará cuando todo vaya bien. Como parámetros de esa función se pasarán el objeto XML con los datos recibidos y, si existe, el parámetro extra.
statusfn: Si pasas una función (sin los "()") se llamará cuando haya un cambio de estado. Como parámetros de esa función se pasarán el objeto XML y, si existe, el parámetro extra.
errorfn: Si pasas una función (sin los "()") se llamará cuando algo falle. Como parámetros de esa función se pasarán el objeto XML de la petición y, si existe, el parámetro extra.
extra: Parámetro que se pasa a las funciones okfn, statusfn y extrafn cuando son llamad. es muy útil para saber que petición es si se envían varias a la vez.
Bueno, después del tocho, ejemplos:
Página donde se usa:
http://tagboards.dwebresources.com/es/tagboards.php?sala=35Lugar exacto donde se usa:
http://tagboards.dwebresources.com/js/tagboards.js (función enviar, se usa
enviar pero es igual que
enviaryrecibir).
Para procesar la respuesta puedes usar (JavaScript normal, no tiene nada que ver con la librería que uses):
primerParametro.responseText: Es la respuesta del servidor en modo texto. Para cargar un trozo de una web es lo que necesitas.
primerParametro.responseXML: Si los datos están en XML y están correctos, aquí te devuelve un objeto tipo xmlHttpRequest, con sus funciones especiales para manejarlo. Esto es lo que se usa en el ejemplo de uso que te he escrito antes.
Para las otras librerías te valdría el tema de cómo procesar las respuestas, pero como no las uso no te puedo explicar como hacer peticiones.
Si quieres hacerlo tú a mano puedes mirarte como está en la librería que te he puesto.
Y para mas información,
tu amigo Google.
Saludos, y no dudes en preguntar lo que necesites.