Rico (hiszp. bogaty) – biblioteka javascriptowa, która wraz z prototype.js pozwala na proste animacje, drag-and-drop na stronce, wszystko na bazie architektury AJAX
http://openrico.org/
Przykładowa strona – komunikacja z serwerem. Kod z biblioteką Rico jest teraz bardziej przejrzysty.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title>Testujac OpenRico</title>
<script src=”prototype.js” ></script>
<script src=”rico.js” ></script>
<script type = “text/javascript“>
function callRICO()
{
ajaxEngine.registerRequest(‘myRequest’,'ricotest.php’);
ajaxEngine.registerAjaxElement(‘display’);
ajaxEngine.registerAjaxElement(‘heading’);
}
</script>
</head>
<body onLoad = “callRICO()“>
<div id = “heading”><h3>Demonstracja Rico</h3></div>
<input type = “button” value = “Pobierz dane z serwera” onclick = “ajaxEngine.sendRequest(‘myRequest’);”/>
<div id = “display”><p>Ten tekst powinien zostac zastapiony tekstem z serwera…</p></div>
</body>
</html>
ricotest.php:
<?php
header(“Content-Type: text/xml”);
header(“Cache-Control: no-cache”);
header(“Pragma: no-cache”);
echo “<ajax-response><response type=\”element\”
id=\”display\”><p>”.$_SERVER['SERVER_SIGNATURE'].”
</p></response><response type=\”element\” id=\”heading\”>
<h3>Kilka informacji o serwerze</h3></response></ajax-response>”;
?>
Stronka odpytująca serwer o aktualny czas:
http://www.users.pjwstk.edu.pl/~s4268/ajax/11.3.html
a to kod pliku telltimeXML.php
<?php
header(‘Content-Type: text/xml’);
sleep(3);
echo “<?xml version=\”1.0\”
?><clock1><timenow>”.date(‘H:i:s’).”</timenow></clock1>”;
?>
Pogoda wyjątkowo niewakacyjna nastraja do pisania!
Dzisiaj o Ajaxie, czyli Asynchroniczny JavaScript i XML. Ogólnie rzecz ujmując, jest to architektura dla stronek i aplikacji internetowych, który pozwala na przesyłanie danych bez przeładowywania strony.
Ajax buduje dodatkową warstwę przetwarzania, pomiędzy stroną internetową a serwerem. Warstwa ta często określana jest mianem Modułu Ajax lub Osnowy Ajax. Przechwytuje żądania od użytkownika, a w tle obsługuje komunikację z serwerem – po cichu, dyskretnie i asynchronicznie. Żądania i odpowiedzi serwera nie muszą być zbieżne z określoną akcją użytkownika, ale mogą mieć miejsce w dowolnym, wygodnym dla użytkownika czasie, by poprawić działanie aplikacji. Przeglądarka internetowa nie zamarza się teraz i nie oczekuje ukończenia przez serwer ostatniego żądania. Zamiast tego, pozwala użytkownikowi na przewijanie ekranu strony, klikanie czy pisanie na bieżącej stronie.
Phil Ballard
Przykładem zastosowanie jest genialna aplikacja – Google Suggest
Wyświetla ona w dymku podpowiedzi szukanej frazy, i to dynamiczne.
To jest mój FireFox 2, gdzie wyszukiwarka Google ma tą funkcję włączoną domyślnie.

Kluczowym w Ajaxie jest zastosowanie JavaScriptu, którego warto znać chociaż w podstawowym zakresie. Komunikację z serwerem można osiągnąć dzięki obiektowi XMLHTTPRequest. Ten obiekt JavaScript potrafi utworzyć połączenie z serwerem, a następnie wysłać do niego żądania http bez potrzeby powiązania ich z wczytywaniem strony.