Pokazywanie postów oznaczonych etykietą AJAX. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą AJAX. Pokaż wszystkie posty

niedziela, 7 czerwca 2015

[AJAX] Praca z AJAX-em w jQuery

TRUE
172202579730833435
Biblioteka jQuery posiada pełen zestaw metod służących do kompletnej pracy z żądaniami ajaxowymi. Umożliwia wysyłanie i odbieranie żądań zarówno GET jak i POST, automatyzując przy tym bardzo wiele procesów. Korzystanie z AJAX-a w jQuery jest proste i przyjemne - całość sprowadza się do poznania wszystkich metod, jakie dla AJAX-a ten framework oferuje. Metod tych jest dość dużo i poznamy je tutaj za chwilę wraz z odpowiednimi przykładami ich zastosowania. Artykuł nie jest przeznaczony dla początkujących w jQuery, więc aby go w pełni zrozumieć wymagana jest znajomość choćby podstaw frameworka. Ogólny wstęp do mechanizmów AJAX-owych wraz z opisem obiektu XMLHttpRequest znajduje się w poprzednim artykule, który przeczytać można tutaj.

Wczytanie danych do selektora - $.load()

Obsługa AJAX-a za pomocą jQuery jest o tyle łatwiejsza, że jQuery zamyka wszystko w pojedyńczych metodach, które wywołuje się szybciej, aniżeli podczas pisania dłuższego kodu dla obiektu XMLHttpRequest. JQuery ponadto bierze na siebie całą obsługę, w związku z czym programista nie musi się martwić o implementację w wiekowych wersjach przeglądarek. Przyjrzyjmy się małemu porównaniu. Chcąc wczytać AJAX-em za pomocą zwykłego Javascriptu plik ajax.txt do DIV-a o nazwie response, zrobimy to tak:
[code]
<div id="response"></div>
<script>
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
  {
     document.getElementById("response").innerHTML = xmlhttp.responseText;
  }
};
xmlhttp.open("GET", "ajax.txt", true);
xmlhttp.send();
</script>
[/code]
Za pomocą jQuery natomiast zamkniemy powyższe w jednej linijce kodu:
[code]<div id="response"></div>
<script>$("#response").load("ajax.txt");</script>[/code]

sobota, 6 czerwca 2015

[AJAX] Podstawy Ajax-a i obiekt XMLHttpRequest

TRUE
7129893189936219737
AJAX, czyli Asynchronous JavaScript and XML to metoda pozwalająca na asynchroniczne ładowanie elementów strony bez potrzeby jej odświeżania. Metodą tę spopularyzowała firma Google, dodając do swojej wyszukiwarki funkcjonalność opartą na podpowiadaniu zapytania. Obecnie AJAX wykorzystywany jest praktycznie wszędzie. Połączenie wykonywane przez AJAX polega na wysłaniu żądania z poziomu strony je implementującej, a następnie na odebraniu odpowiedzi na to żądanie od zewnętrznej strony/skryptu. Połączenie takie odbywa się w tle, za pomocą sporządzenia przez przeglądarkę obiektu o nazwie XMLHttpRequest i następnie za pomocą tego obiektu następuje komunikacja. W artykule tym nauczymy się tworzyć taki obiekt, a następnie za jego pomocą łączyć się z zewnętrznymi źródłami danych. AJAX-a można używać "na czysto" operując bezpośrednio na obiekcie XMLHttpRequest, można też skorzystać z gotowych frameworków, takich jak np. jQuery, które automatyzują kilka aspektów połączenia. Przesyłanie danych ajaxowych za pomocą metod dostępnych w jQuery opiszę jednak w innym artykule, tutaj zobaczymy jak obiekt XMLHttpRequest wygląda i działa "od środka", operując na nim bezpośrednio, bez użycia zewnętrznych frameworków.

Zasada działania AJAX-a

Na samym początku tworzony jest obiekt XMLHttpRequest. Podczas tworzenia takiego obiektu definiujemy dla niego funkcje zwrotną, która zostanie wywołana podczas procedury połączenia i która obsłuży odebrane przez AJAX dane. Następnie - żądanie (request) utworzone za pomocą obiektu XMLHttpRequest wysyłane jest do zewnętrznego pliku. Plik ten następnie reaguje na żądanie odsyłając odpowiedź (resposne), w której zwraca odpowiednie dane. Odpowiedź taka  przesyłana jest z powrotem do naszego obiektu, gdzie zostaje przetworzona przez funkcję, którą zdefiniowaliśmy podczas tworzenia obiektu XMLHttpRequest. Cała ta procedura odbywa się "w tle". Z otrzymanymi danymi następnie możemy już zrobić co tylko chcemy.

źródło obrazka: http://www.w3schools.com/ajax/ajax.gif

webmaester.pl - profesjonalne projektowanie WWW i webaplikacji
webmaester.pl - profesjonalne projektowanie WWW i webaplikacji