Miguel de Cervantes y Saavedra - Don Quijote de la Mancha - Ebook:
HTML+ZIP- TXT - TXT+ZIP

Wikipedia for Schools (ES) - Static Wikipedia (ES) 2006
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Xajax - Wikipedia, la enciclopedia libre

Xajax

De Wikipedia, la enciclopedia libre

Xajax es una biblioteca código abierto de PHP capaz de generar aplicaciones Web con tecnología Ajax.

Xajax utiliza una forma de trabajo de funciones, designando qué funciones de código PHP se convierten en funciones Ajax.

Tabla de contenidos

[editar] Introducción

Ajax se ha convertido en una de las tecnologías más populares para la creación de aplicaciones Web dinámicas. Por tal razón hay una gran cantidad de librerias y Frameworks que nos permiten hacer uso de esta tecnología de una manera sencilla y cómoda. Algunos de ellos son Prototype, ScriptAculo, Google Web Toolkit (GWT), Xajax entre otros. En este artículo se realizará una comparación entre las Web Tradicionales y la introducción de la tecnología Ajax en las mismas, pero principalmente se centrará en la implementación de Ajax utilizando la biblioteca Xajax.

[editar] Web Tradicional y la implementación de Ajax

Uno de los inconvenientes más comunes a la hora de diseñar una interfaz de aplicación Web es que una vez que la página se ha descargado en el cliente, la conexión con el servidor se corta. Cualquier intento de dinamismo en la interfaz por parte del cliente requiere una comunicación con el servidor para la recarga (proceso que tiende a convertir la aplicación poco elegante y lenta).

En el modelo tradicional de aplicaciones Web el usuario envía una petición al servidor requiriendo una página, la cual es construida y enviada al navegador. Esta página incluye un formulario HTML para capturar datos del usuario. Una vez que el usuario reenvía los datos al servidor, la siguiente página será generada y enviada dependiendo del valor de dichos datos, y así el proceso continúa. Supongamos una aplicación de escritorio para la registración de un número de serie. Según convenga se lo puede plantear de diversas formas, una vez hemos terminado de rellenar los correspondientes cuadro de textos con los caracteres del código, podríamos hacer aparecer un “Tilde” verde a la derecha indicando que hemos introducido un código válido. Tan pronto como se introduce el código, la aplicación puede comprobar su validez y responder.

En contraste con el ejemplo anterior pero esta vez orientado en una interfaz Web. Por supuesto, todos los cuadros de textos donde introducir el código serán idénticos, pero al rellenarlos, el usuario tendrá que enviar esos datos al servidor para que éste valide el código. Una nueva página será entonces cargada informando del éxito o fracaso de la operación, y en caso de fallo, el usuario tendrá que volver atrás e intentarlo de nuevo cuantas veces sea necesario. Una solución a estos problemas se presenta con el objeto XMLHttpRequest. Este objeto, ahora disponible como objeto nativo tanto en Mozilla como también en otros navegadores existentes, permite a JavaScript realizar peticiones al servidor remoto sin la necesidad de recargar la página. En esencia, pueden realizarse peticiones y recibir respuestas HTTP completamente en segundo plano y sin que el usuario experimente ninguna interrupción visual.

Con la introducción de Ajax (Ashyncronous JavaScript And XML) en aplicaciones Web el manejo del objeto XMLHttpRequest se hace mucho más sencillo. Cuando el usuario interactúa con la Web y provoca una acción, se crea y configura un objeto XMLHttpRequest, el mismo posteriormente realiza una llamada al servidor requiriendo tal evento. La petición se procesa en el servidor y retorna una respuesta que puede ser un documento XML, texto plano, JavaScript, etc. que contienen el resultado de dicha petición. Luego el objeto XMLHttpRequest llama a la función callback() para procesar el resultado y finalmente se actualiza el DOM (Documen Object Model)de la página con la petición dependiendo del resultado devuelto.

De esta manera Ajax permite que la velocidad de navegación y dinamismo incrementen notablemente, dando como resultado aplicaciones Web rápidas y fáciles de usar.

[editar] Librería Xajax

Xajax es una biblioteca de código abierto para PHP que permite crear de manera fácil y simple aplicaciones Web basadas en Ajax usando además HTML, CSS, y Javascript. Las aplicaciones desarrolladas con Xajax pueden comunicarse asincrónicamente con funciones que se encuentran del lado del servidor y así actualizar el contenido de una página sin tener que recargarla nuevamente.

En un principio se crea una instancia de objeto Xajax (xajax object). Este objeto manejará todo el procesamiento a través de Xajax. En segundo lugar debemos registrar todas las funciones que hemos definido previamente en el objeto Xajax, esto se puede hacer usando el método xajax->registerFunction(). Finalmente todas las respuestas serán procesadas utilizando el método xajax->processRequests().

$objAjax = new xajax();
$objAjax->registerFunction('mis_funciones');
$objAjax->processRequests();

[editar] Características

En la actualidad se encuentran diversas clases de librerías y Frameworks de Ajax disponibles para los desarrolladores de aplicaciones Web. Algunas de ellas son Prototype y ScriptAculo por solo nombrar algunas. Sin embargo para optar por estas soluciones los desarrolladores deben tener un conocimiento, si bien no muy elevado, pero si sólido en Javascript. Por tal hecho, la mayoría de ellos y sobre todo los que utilizan PHP, al hacer uso de estos Frameworks puede ser un trabajo muy duro.

Por otro lado, la biblioteca Xajax es una librería puramente centrada en PHP. Con la introducción de la misma el manejo de Ajax en PHP se hace mucho más sencillo y sobre todo solo se necesita escribir sentencias muy cortas y simples en Javascript, por cual es una de las ventajas frente a otras soluciones.

Otras de las características son:

  • Xajax puede ser usado para actualizar Styles, CSS Classes, botones de selección, checkbox y botones de radios o cualquier otro atributo de un elemento
  • Cada función registrada para ser accesible a través de xajax puede tener distintos tipos de petición.

[editar] Funcionamiento

Paso 1: Incluir la librería Xajax

Como primer paso debemos incluir la librería Xajax de la siguiente manera:

require_once("xajax.inc.php");

Paso 2: Creamos una instancia del objeto Xajax

$xajax = new xajax(); 

Paso 3: Registramos las funciones PHP que queremos hacer accesibles dede JavaScript.

$xajax->registerFunction("myFunction"); 

Paso 4: Escribimos las funciones PHP que vamos a registrar, no hay que olvidarse de que debemos devolver el XML

function myFunction($arg)
{
     // do some stuff based on $arg like query data from a database and
     // put it into a variable like $newContent 
     // Instantiate the xajaxResponse object
     $objResponse = new xajaxResponse();
     // add a command to the response to assign the innerHTML attribute of
     // the element with id="SomeElementId" to whatever the new content is
     $objResponse->addAssign("SomeElementId","innerHTML", $newContent);
     //return the XML response generated by the xajaxResponse object
     return $objResponse->getXML();
} 

Paso 5: Le indicamos a Xajax que procese las peticiones:

$xajax->processRequests(); 

Paso 6: Debemos incluir el script javascript entre las cabeceras HEAD de nuestro código Html

<?php $xajax->printJavascript(); ?>

Paso 7: Llamamos a la función desde un evento cualquiera

button onclick="xajax_myFunction(SomeArgument);"

[editar] Enlaces externos

Icono de esbozo

Este artículo es un miniesbozo sobre programación en el que falta información esencial. Ayudarás a mejorar Wikipedia ampliándolo. Puedes apoyarte en las wikipedias en otras lenguas.

Otros idiomas
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com