Krok 2 - "Voila`!", czyli obsługa odpowiedzi serwera

Pamiętasz, że w trakcie wysyłania zapytania została podana nazwa funkcji JavaScript, która została przygotowana do obsługi odpowiedzi?

http_request.onreadystatechange = nazwaFunkcji;

Zobaczmy, co ta funkcja powinna zrobić. Najpierw musi ona sprawdzić stan zapytania. Jeżeli status ma wartość 4, oznacza to, że udało się pobrać pełną odpowiedź z serwera i można kontynuować jej przetwarzanie.

if (http_request.readyState == 4) { // wszystko jest OK, odpowiedź została odebrana } else { // ciągle nie gotowe }

Możliwe są następujące wartości readyState:

  • 0 (niezainicjowane)
  • 1 (w trakcie pobierania)
  • 2 (pobrano)
  • 3 (interaktywne)
  • 4 (gotowe)

(Źródło)

Następnie należy sprawdzić kod odpowiedzi serwera HTTP. Wszystkie możliwe kody są opisane na stronie W3C. W tym przypadku interesuje nas tylko odpowiedź

200 OK

if (http_request.status == 200) { // świetnie!! } else { // wystąpił jakiś problem z zapytaniem, // na przykład odpowiedzią mogło być 404 (Nie odnaleziono) // lub 500 (Wewnętrzny błąd serwera) }

Teraz, kiedy został już sprawdzony stan zapytania i kod statusu odpowiedzi, możesz zrobić co zechcesz z danymi otrzymanymi z serwera. Masz dwie możliwości dostania się do danych:

  • http_request.responseText

    - zwróci odpowiedź serwera jako ciąg znakowy
  • http_request.responseXML

    - zwróci odpowiedź jako obiekt

    XMLDocument

    , z którym można pracować przy użyciu funkcji DOM JavaScriptu.

 Chcesz wiedzieć więcej   Czytaj Dalej >>