Prema zadanim postavkama, $ .ajax zahtjev u jQuery postavljen je na asinkroni. Naziv varijable je async, a vrijednost je postavljena na true. To mi je stvorilo i malu zbrku kada sam prvi put saznao o tome, pa prijeđimo na to.
Asinkrono nasuprot sinkrono
Zadana postavka u jQuery-u. Po mom iskustvu, Asinhroni bi gotovo uvijek trebao raditi trik. Postoje dvije situacije koje posebno ne omogućuju sinkroniziranje.
- Zahtjevi za više domena. Ako radim ajax zahtjev s techjunkie.com u datoteci na whereever.com (potpuno drugačija domena), to bi bio zahtjev cross domene.
- jsonp - Ako tražite popravljanje JSON podataka za više domena, JSONP je ono što tražite.
Kada koristiti Synchronous
Prvo biste trebali biti svjesni da postavljanje asinhije na lažno zamrzava vaš preglednik. U potpunosti ga zaključava. Ne samo svoju stranicu, već i svaku stranicu koju korisnik može otvoriti. Na primjer, ako vaš poslužitelj uspori zahtjev, u sredini ste isključili njihov preglednik sve dok vaš poslužitelj nema priliku nadoknaditi i proslijediti potrebne podatke.
Umjesto da riskirate sa sinkronim pozivom, samo odredite funkciju povratnog poziva kod uspjeha ili pogreške. Dolazite do iste krajnje točke bez mogućeg narušavanja iskustva pregledavanja korisnika. Ukratko, nemojte koristiti sinkroni poziv. Loše je za vašu aplikaciju i UX.