fbpx
Wikipedia

AJAX

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones web asíncronas. Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible interactuar con el servidor sin necesidad de recargar la página web, mejorando la interactividad, velocidad y usabilidad en las aplicaciones.

Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página, aunque existe la posibilidad de configurar las peticiones como síncronas de tal forma que la interactividad de la página se detiene hasta la espera de la respuesta por parte del servidor.

JavaScript es un lenguaje de programación (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asíncrono esté formateado en XML.

Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que está basado en estándares abiertos como JavaScript y Document Object Model (DOM).

Tecnologías incluidas en Ajax

Ajax es una combinación de cuatro tecnologías ya existentes:

  • XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información.
  • Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones ECMAScript como JavaScript y JScript, para mostrar e interactuar dinámicamente con la información presentada.
  • El objeto XMLHttpRequest para intercambiar datos de forma asíncrona con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios. PHP es un lenguaje de programación de uso general de script del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico también utilizado en el método Ajax.
  • XML es el formato usado generalmente para la transferencia de datos solicitados al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y hasta EBML.

Como el DHTML, LAMP o SPA, Ajax no constituye una tecnología en sí, sino que es un término que engloba a un grupo de éstas que trabajan conjuntamente.

Antecedentes de Ajax

A pesar de que el término «Ajax» fue creado en 2005 por Jesse James Garrett,[1]​ la historia de las tecnologías que permiten Ajax se remonta a una década antes con la iniciativa de Microsoft en el desarrollo de Scripting Remoto. Sin embargo, las técnicas para la carga asíncrona de contenidos en una página existente sin requerir recarga completa remontan al tiempo del elemento iframe (introducido en Internet Explorer 3 en 1996) y el tipo de elemento layer (introducido en Netscape 4 en 1997, abandonado durante las primeras etapas de desarrollo de Mozilla). Ambos tipos de elemento tenían el atributo src que podía tomar cualquier dirección URL externa, y cargando una página que contenga JavaScript que manipule la página paterna, pueden lograrse efectos parecidos al Ajax.

El Microsoft's Remote Scripting (o MSRS, introducido en 1998) resultó un sustituto más elegante para estas técnicas, con envío de datos a través de un applet Java el cual se puede comunicar con el cliente usando JavaScript. Esta técnica funcionó en ambos navegadores, Internet Explorer versión 4 y Netscape Navigator versión 4. Microsoft la utilizó en el Outlook Web Access provisto con la versión 2000 de Microsoft Exchange Server.

La comunidad de desarrolladores web, primero colaborando por medio del grupo de noticias microsoft.public.scripting.remote y después usando blogs, desarrollaron una gama de técnicas de scripting remoto para conseguir los mismos resultados en diferentes navegadores. Los primeros ejemplos incluyen la biblioteca JSRS en el año 2000, la introducción a la técnica imagen/cookie[2]​ en el mismo año y la técnica JavaScript bajo demanda (JavaScript on Demand)[3]​ en 2002. En ese año, se realizó una modificación por parte de la comunidad de usuarios[4]​ al Microsoft's Remote Scripting para reemplazar el applet Java por XMLHttpRequest.

Frameworks de Scripting Remoto como el ARSCIF[5]​ aparecieron en 2003 poco antes de que Microsoft introdujera Callbacks en ASP. NET.[6]

Desde que XMLHttpRequest está implementado en la mayoría de los navegadores, raramente se usan técnicas alternativas. Sin embargo, todavía se utilizan donde se requiere una mayor compatibilidad, una reducida implementación, o acceso cruzado entre sitios web. Una alternativa, el Terminal SVG[7]​ (basado en SVG), emplea una conexión persistente para el intercambio continuo entre el navegador y el servidor.

Problemas e inconvenientes

  • Las páginas creadas dinámicamente mediante peticiones sucesivas AJAX, no son registradas de forma automática en el historial del navegador, así que haciendo clic en el botón de "volver" del navegador, el usuario no será devuelto a un estado anterior de la página, en cambio puede volver a la última página que visitó. Soluciones incluyen el uso de IFrames invisible para desencadenar cambios en el historial del navegador y el cambio de la porción de anclaje de la dirección (después de un #).
  • Los motores de búsqueda no analizan JavaScript. La información en la página dinámica no se almacena en los registros del buscador. Exceptuando Google, que desde 2011 sí indexa contenido Ajax y JavaScript. Matt Cutts (director del departamento contra el spam en web de Google) lo confirmó en Twitter: “Googlebot keeps getting smarter. Now has the ability to execute AJAX/JS to index some dynamic comments.”
  • Hay problemas usando Ajax entre nombres de dominios, a esto se le conoce como Same Origin Policy o Política del Mismo Origen, lo cual es una medida de seguridad que puede ser solucionada con Cross-Origin Resource Sharing (CORS).
  • Dependiendo de como se desarrolle el sitio web, puedes mejorar o empeorar la carga en el servidor. Ajax puede ayudar al servidor a evitar la fase de renderización de HTML, dejándole ese trabajo al cliente, pero también puede sobrecargar al servidor si se hace varias llamadas a Ajax.
  • Es posible que páginas con Ajax no puedan funcionar en teléfonos móviles, PDA u otros aparatos. Ajax no es compatible con todos los software para invidentes u otras discapacidades.

Soporte de AJAX

Navegadores que permiten AJAX

Ha de tenerse en cuenta que esta es una lista general, y el soporte de las aplicaciones Ajax dependerá de las características que el navegador permita.

Navegadores que no permiten AJAX

  • Opera 7.0 y anteriores, versión actual 65 (enero de 2020).
  • Microsoft Internet Explorer para Windows versión 4.0 y anteriores.
  • Anteriores a Safari 1.2.
  • Dillo.
  • Navegadores basados en texto como Lynx y Links.
  • Navegadores para personas con capacidades especiales visuales (Braille).
  • Algunos navegadores de teléfonos móviles.
  • Navegador de la PSP.

Véase también

Referencias

  1. Ajax: A New Approach to Web Applications el 3 de noviembre de 2013 en Wayback Machine.
  2. , Explicación y ejemplo de procesar un archivo JavaScript bajo demanda (en inglés).
  3. , sustitución del applet Java por el objeto XMLHttpRequest (en inglés).
  4. , A Framework for Asynchronous Remote–Script Callback Invocation (en inglés)
  5. . Archivado desde el original el 28 de abril de 2006. Consultado el 12 de mayo de 2006. 
  6. protocolo SVGT (en inglés).

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre AJAX.
  • Ejemplo básico de Ajax en PHP, Ejemplo básico de Ajax en PHP
  • Manual de AJAX, Manual de ajax en español con fuentes
  • AJAX un nuevo acercamiento a Aplicaciones Web, traducción del artículo original de Jesse James Garret
  • (en español)
  • AJAX: The Official Microsoft ASP.NET AJAX Site Sitio oficial de Microsoft (en inglés)
  • Ajax Módulos Perl en CPAN (en inglés)
  • Galería de ejemplos y su correspondiente código.
  • Comenzando desde cero y llegando hasta las técnicas más avanzadas (Contenido en web y en PDF).
  • Referencias de AJAX, y un buen ejemplo AJAX DWR
  •   Datos: Q134471
  •   Multimedia: AJAX (programming)
  •   Libros y manuales: Ajax

ajax, para, otros, usos, este, término, véase, ajax, acrónimo, asynchronous, javascript, javascript, asíncrono, técnica, desarrollo, para, crear, aplicaciones, asíncronas, estas, aplicaciones, ejecutan, cliente, decir, navegador, usuarios, mientras, mantiene, . Para otros usos de este termino vease Ajax AJAX acronimo de Asynchronous JavaScript And XML JavaScript asincrono y XML es una tecnica de desarrollo web para crear aplicaciones web asincronas Estas aplicaciones se ejecutan en el cliente es decir en el navegador de los usuarios mientras se mantiene la comunicacion asincrona con el servidor en segundo plano De esta forma es posible interactuar con el servidor sin necesidad de recargar la pagina web mejorando la interactividad velocidad y usabilidad en las aplicaciones Ajax es una tecnologia asincrona en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualizacion ni el comportamiento de la pagina aunque existe la posibilidad de configurar las peticiones como sincronas de tal forma que la interactividad de la pagina se detiene hasta la espera de la respuesta por parte del servidor JavaScript es un lenguaje de programacion scripting language en el que normalmente se efectuan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest objeto disponible en los navegadores actuales En cualquier caso no es necesario que el contenido asincrono este formateado en XML Ajax es una tecnica valida para multiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que esta basado en estandares abiertos como JavaScript y Document Object Model DOM Indice 1 Tecnologias incluidas en Ajax 2 Antecedentes de Ajax 3 Problemas e inconvenientes 4 Soporte de AJAX 4 1 Navegadores que permiten AJAX 4 2 Navegadores que no permiten AJAX 5 Vease tambien 6 Referencias 7 Enlaces externosTecnologias incluidas en Ajax EditarAjax es una combinacion de cuatro tecnologias ya existentes XHTML o HTML y hojas de estilos en cascada CSS para el diseno que acompana a la informacion Document Object Model DOM accedido con un lenguaje de scripting por parte del usuario especialmente implementaciones ECMAScript como JavaScript y JScript para mostrar e interactuar dinamicamente con la informacion presentada El objeto XMLHttpRequest para intercambiar datos de forma asincrona con el servidor web En algunos frameworks y en algunas situaciones concretas se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios PHP es un lenguaje de programacion de uso general de script del lado del servidor originalmente disenado para el desarrollo web de contenido dinamico tambien utilizado en el metodo Ajax XML es el formato usado generalmente para la transferencia de datos solicitados al servidor aunque cualquier formato puede funcionar incluyendo HTML preformateado texto plano JSON y hasta EBML Como el DHTML LAMP o SPA Ajax no constituye una tecnologia en si sino que es un termino que engloba a un grupo de estas que trabajan conjuntamente Antecedentes de Ajax EditarA pesar de que el termino Ajax fue creado en 2005 por Jesse James Garrett 1 la historia de las tecnologias que permiten Ajax se remonta a una decada antes con la iniciativa de Microsoft en el desarrollo de Scripting Remoto Sin embargo las tecnicas para la carga asincrona de contenidos en una pagina existente sin requerir recarga completa remontan al tiempo del elemento iframe introducido en Internet Explorer 3 en 1996 y el tipo de elemento layer introducido en Netscape 4 en 1997 abandonado durante las primeras etapas de desarrollo de Mozilla Ambos tipos de elemento tenian el atributo src que podia tomar cualquier direccion URL externa y cargando una pagina que contenga JavaScript que manipule la pagina paterna pueden lograrse efectos parecidos al Ajax El Microsoft s Remote Scripting o MSRS introducido en 1998 resulto un sustituto mas elegante para estas tecnicas con envio de datos a traves de un applet Java el cual se puede comunicar con el cliente usando JavaScript Esta tecnica funciono en ambos navegadores Internet Explorer version 4 y Netscape Navigator version 4 Microsoft la utilizo en el Outlook Web Access provisto con la version 2000 de Microsoft Exchange Server La comunidad de desarrolladores web primero colaborando por medio del grupo de noticias microsoft public scripting remote y despues usando blogs desarrollaron una gama de tecnicas de scripting remoto para conseguir los mismos resultados en diferentes navegadores Los primeros ejemplos incluyen la biblioteca JSRS en el ano 2000 la introduccion a la tecnica imagen cookie 2 en el mismo ano y la tecnica JavaScript bajo demanda JavaScript on Demand 3 en 2002 En ese ano se realizo una modificacion por parte de la comunidad de usuarios 4 al Microsoft s Remote Scripting para reemplazar el applet Java por XMLHttpRequest Frameworks de Scripting Remoto como el ARSCIF 5 aparecieron en 2003 poco antes de que Microsoft introdujera Callbacks en ASP NET 6 Desde que XMLHttpRequest esta implementado en la mayoria de los navegadores raramente se usan tecnicas alternativas Sin embargo todavia se utilizan donde se requiere una mayor compatibilidad una reducida implementacion o acceso cruzado entre sitios web Una alternativa el Terminal SVG 7 basado en SVG emplea una conexion persistente para el intercambio continuo entre el navegador y el servidor Problemas e inconvenientes EditarLas paginas creadas dinamicamente mediante peticiones sucesivas AJAX no son registradas de forma automatica en el historial del navegador asi que haciendo clic en el boton de volver del navegador el usuario no sera devuelto a un estado anterior de la pagina en cambio puede volver a la ultima pagina que visito Soluciones incluyen el uso de IFrames invisible para desencadenar cambios en el historial del navegador y el cambio de la porcion de anclaje de la direccion despues de un Los motores de busqueda no analizan JavaScript La informacion en la pagina dinamica no se almacena en los registros del buscador Exceptuando Google que desde 2011 si indexa contenido Ajax y JavaScript Matt Cutts director del departamento contra el spam en web de Google lo confirmo en Twitter Googlebot keeps getting smarter Now has the ability to execute AJAX JS to index some dynamic comments Hay problemas usando Ajax entre nombres de dominios a esto se le conoce como Same Origin Policy o Politica del Mismo Origen lo cual es una medida de seguridad que puede ser solucionada con Cross Origin Resource Sharing CORS Dependiendo de como se desarrolle el sitio web puedes mejorar o empeorar la carga en el servidor Ajax puede ayudar al servidor a evitar la fase de renderizacion de HTML dejandole ese trabajo al cliente pero tambien puede sobrecargar al servidor si se hace varias llamadas a Ajax Es posible que paginas con Ajax no puedan funcionar en telefonos moviles PDA u otros aparatos Ajax no es compatible con todos los software para invidentes u otras discapacidades Soporte de AJAX EditarNavegadores que permiten AJAX Editar Ha de tenerse en cuenta que esta es una lista general y el soporte de las aplicaciones Ajax dependera de las caracteristicas que el navegador permita Navegadores basados en Gecko como Mozilla Firefox SeaMonkey IceWeasel y Netscape version 7 1 y superiores Navegadores basados en Blink como Google Chrome de Google Navegadores basados en WebKit como Safari de Apple Microsoft Internet Explorer para Windows version 5 0 y superiores y los navegadores basados en el Navegadores con el API KHTML version 3 2 y superiores implementado incluyendo Konqueror version 3 2 y superiores y el Web Browser for S60 de Nokia tercera generacion y posteriores Opera version 8 0 y superiores incluyendo Opera Mobile Browser version 8 0 y superiores Microsoft Edge en todas sus versiones fecha de salida 2015 Edge Chromium BETA de Microsoft en todas sus versiones estado BETA enero de 2020 Navegadores que no permiten AJAX Editar Opera 7 0 y anteriores version actual 65 enero de 2020 Microsoft Internet Explorer para Windows version 4 0 y anteriores Anteriores a Safari 1 2 Dillo Navegadores basados en texto como Lynx y Links Navegadores para personas con capacidades especiales visuales Braille Algunos navegadores de telefonos moviles Navegador de la PSP Vease tambien EditarFJAX HTTP Streaming AJAJ AJAX con JSON en lugar de XML Open Ajax Progressive Enhancement Rich Internet Application Sajax Xajax ajax for PHP XMLHttpRequest Dojo toolkitReferencias Editar Ajax A New Approach to Web Applications Archivado el 3 de noviembre de 2013 en Wayback Machine Using a GIF as a Data Pipe explicacion y ejemplo de uso de la tecnica imagen cookie en ingles Remote scripting with javascript Explicacion y ejemplo de procesar un archivo JavaScript bajo demanda en ingles microsoft public scripting remote sustitucion del applet Java por el objeto XMLHttpRequest en ingles ARSCIF A Framework for Asynchronous Remote Script Callback Invocation en ingles Script Callbacks in ASP NET en ingles Archivado desde el original el 28 de abril de 2006 Consultado el 12 de mayo de 2006 protocolo SVGT en ingles Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre AJAX Ejemplo basico de Ajax en PHP Ejemplo basico de Ajax en PHP Manual de AJAX Manual de ajax en espanol con fuentes AJAX un nuevo acercamiento a Aplicaciones Web traduccion del articulo original de Jesse James Garret Introduccion a AJAX en espanol AJAX The Official Microsoft ASP NET AJAX Site Sitio oficial de Microsoft en ingles Ajax Modulos Perl en CPAN en ingles AjaxDaddy Galeria de ejemplos y su correspondiente codigo Introduccion a AJAX Comenzando desde cero y llegando hasta las tecnicas mas avanzadas Contenido en web y en PDF Referencias de AJAX y un buen ejemplo AJAX DWR Datos Q134471 Multimedia AJAX programming Libros y manuales Ajax Obtenido de https es wikipedia org w index php title AJAX amp oldid 137525491, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos