Sens XMLHttpRequest

0

Witam

Czy ktoś może pomóc zrozumieć jaki jest cel robienia XMLHttpRequest?

Mam np. stronę example.com/a.html, na której tworzę obiekt XMLHttpRequest a do funkcji "open" przekazuję stronę example.com/a.txt, która zawiera słowo "słowo". Dalej wysyłam to wszystko metodą "send".

Na stronie example.com/a.html w narzędziach deweloperskich widać w zakładce XHR nasze wysłane zapytanie i zawartość pliku a.txt, czyli "słowo". Na stronie a.txt w narzędziach deweloperskich nie widać nic nowego.

Czyli wychodzi na to, że jedyna korzyść z tego to odczytanie zawartości pliku a.txt będąc na stronie a.html. Ale przecież da się też odczytać treść innej strony będąc na innej wykorzystując zwykły php i np. funkcję fopen. Więc w czym XMLHttpRequest jest lepszy?

0

Więc w czym XMLHttpRequest jest lepszy?

Działa po stronie klienta, a nie serwera ;-)

1

XMLHttpRequest służy do wykonywania asynchronicznych żądań. Co w tym takiego wspaniałego?
Wyobraź sobie, że jesteś na jakieś podstronie, która zawiera jakąś listę czegoś. Przyjmijmy, że są to użytkownicy i chcesz wyedytować 10 z nich znajdujących się na tej liście.

Wersja synchroniczna:

  1. Klikasz na jakaś pozycję z listy i następuje przeładowanie strony.
  2. Wprowadzasz zmiany w wyświetlonym formularzu i zatwierdzasz go. Następuje przeładowanie strony.
  3. Ponownie wylądowałeś na liście użytkowników. Wybierasz kolejnego i patrz punkt 1.

Wersja asynchroniczna (z użyciem XMLHttpRequest):

  1. Klikasz na jakaś pozycję z listy i otwiera Ci się okienko z formularzem. Nie ma przeładowania. Cały czas w tle jest lista użytkowników.
  2. Wprowadzasz zmiany w wyświetlonym formularzu i zatwierdzasz go. Okienko się zamyka i nie ma przeładowania.
  3. Cały czas jesteś na liście użytkowników. Wybierasz kolejnego i patrz punkt 1.

Wyobraź sobie, że dodatkowo zapis użytkownika trwa z jakiś powodów 30 sekund. W pierwszym wypadku musisz czekać to 30s. W drugim przypadku wszystko wykonuje się asynchronicznie i nie musisz czekać, bo w czasie gdy wykonują się jakieś operacje o których nawet nie wiesz Ty zajmujesz się już 2, czy 3 użytkownikiem.

Polecam obejrzeć

title

1 użytkowników online, w tym zalogowanych: 0, gości: 1