Wykorzystanie
AdvancedAJAX pozwala na proste i wygodne korzystanie z możliwości obiektu XMLHttpRequest. Posiada on zestaw metod umożliwiających wynikowanie zapytań typu GET, POST oraz HEAD, jak również przesyłanie treści formularzy.
Najprostszym sposobem jest wykorzystanie metod get(), post() oraz head(), w zależności od tego, jakiego typu zapytanie chcemy wysłać. Wszystkie z wymienionych metod przyjmują jeden parametr wywołania - obiekt zawierający parametry znane obiektowi i charakteryzujące zapytanie HTTP, obsługe błędów czy wznawianie połączenia podczas przekroczenia czasu oczekiwania. W przypadku, gdy przekazany parametr nie jest znany obiektowi, jest on traktowany jako argument zapytania HTTP i zostaje dodany do łańcucha zapytania (ang. query string).
Najprostsze wykorzystanie obiektu sprowadza sie do napisania kilku linijek kodu. Wykonanie poniższego kodu spowoduje pobranie treści dokumentu przekazanego w argumencie url i wyświetlenie jej w postaci okna dialogowego (globalna metoda alert()). Rezultat zapisywany jest w postaci tekstu w zmiennej .responseText, a w przypadku, gdy pobierany jest dokument XML, możemy wykorzystać zmienną .responseXML, która zawierać będzie obiekt DOM.
advAJAX.get({
url: "http://www.example.com/page.html",
onSuccess : function(obj) {
alert(obj.responseText);
}
});
Wykorzystanie w powyższym kodzie metody post() spowoduje jedynie zmianę typu wykonanego zapytania, rezultat będzie identyczny. Co jednak, jeśli podczas wykonywania zapytania wystąpi błąd, np. wywoływana strona nie będzie istnieć? Błędy się zdarzają, a ich obsługa za pomocą obiektu AdvancedAJAX sporowadza się do zarejestrowania funkcji dla metody onError. Kod błędu, np. 404 w przypadku nie znalezienia dokumentu pod zadanym adresem, zapisany jest w zmiennej .status, a jego opis w postaci tekstu (odpowiednio Not found) w .statusText (w Operze zawsze null).
advAJAX.get({
url: "http://www.example.com/page.html",
onSuccess : function(obj) {
alert(obj.responseText);
},
onError : function(obj) {
alert("Error: " + obj.status);
}
});
W przypadku, gdy przekazana w url strona nie będzie istnieć, na ekranie wyświetlony zostanie komunikat Error: 404. AdvancedAJAX pozwala także na wywoływanie stron wymagających podania nazwy użytkownika i hasła. Za ich wartości odpowiedzialne są, kolejno, argument username i password. W przypadku podania błędnych danych logowania, wywołana zostanie również metoda onError z odpowiednim kodem HTTP zapisanym w zmiennej .status.
advAJAX.get({
url: "http://www.example.com/page.html",
username : "foo",
password : "bar",
onSuccess : function(obj) {
alert(obj.responseText);
},
onError : function(obj) {
alert("Error: " + obj.status);
}
});