AJAX: Hvorfor er asynkron næsten altid bedre

click fraud protection

AJAX, der står for asynkron JavaScript og XML, er en teknik, der tillader, at websider opdateres asynkront, hvilket betyder, at browseren ikke behøver at indlæse hele siden, når kun en lille smule data på siden er ændret. AJAX videregiver kun de opdaterede oplysninger til og fra serveren.

Standard webapplikationer behandler interaktioner mellem webbesøgere og serveren synkront. Det betyder, at den ene ting sker efter den anden; serveren multitask ikke. Hvis du klikker på en knap, sendes beskeden til serveren, og svaret returneres. Du kan ikke interagere med andre sideelementer, før svaret er modtaget, og siden er opdateret.

Naturligvis kan denne form for forsinkelse have en negativ indflydelse på en webbesøgers oplevelse - AJAX.

Hvad er AJAX?

AJAX er ikke et programmeringssprog, men en teknik, der indeholder et script på klientsiden (dvs. et script, der kører i en brugers browser), der kommunikerer med en webserver. Desuden er dens navn noget vildledende: mens et AJAX-program muligvis bruger XML til at sende data, kunne det også bruge bare almindelig tekst eller JSON-tekst. Men generelt bruger det et XMLHttpRequest-objekt i din browser til at anmode om data fra serveren og JavaScript for at få vist dataene.

instagram viewer

AJAX: Synkron eller Asynkron

AJAX kan få adgang til serveren både synkront og asynkront:

  • synkront, hvor scriptet stopper og venter på, at serveren sender et svar tilbage, før de fortsætter.
  • asynkront, hvor scriptet gør det muligt for siden at fortsætte med at blive behandlet og håndterer svaret, hvis og når den ankommer.

Behandler din anmodning synkront svarer til genindlæsning af siden, men kun de ønskede oplysninger downloades i stedet for hele siden. Derfor er det hurtigere at bruge AJAX end ikke at bruge det overhovedet - men det kræver stadig, at din besøgende venter på, at download finder sted, inden yderligere interaktion med siden kan fortsætte. Folk ved, at de undertiden er nødt til at vente på, at en side indlæses, men de fleste er ikke vant til fortsatte, betydelige forsinkelser, efter at de er på et websted.

Behandler din anmodning asynkront undgår forsinkelsen, mens hentningen fra serveren finder sted, fordi din besøgende kan fortsætte med at interagere med websiden; de anmodede oplysninger behandles i baggrunden, og svaret opdaterer siden, når den ankommer. Selv hvis et svar er forsinket - for eksempel i tilfælde af meget store data - er besøgende muligvis ikke klar over det, fordi de er besat andre steder på siden.

Derfor er den foretrukne måde at bruge AJAX på at bruge asynkrone opkald, hvor det er muligt. Dette er standardindstillingen i AJAX.

Hvorfor bruge synkron AJAX?

Hvis asynkronopkald giver en sådan forbedret brugeroplevelse, hvorfor tilbyder AJAX overhovedet en måde at foretage synkrone opkald på?

Mens asynkrone opkald er det bedste valg langt det meste af tiden, er der sjældne situationer, hvor det ikke gør det være fornuftig for at give din besøgende mulighed for at fortsætte med at interagere med websiden, indtil en bestemt server-side-proces fuldført.

I mange af disse tilfælde kan det være bedre at ikke bruge AJAX overhovedet og i stedet blot genindlæse hele siden. Den synkrone indstilling i AJAX er der for det lille antal situationer, hvor du ikke kan bruge et asynkronopkald, men genindlæsning af hele siden er unødvendig. For eksempel skal du muligvis håndtere en vis transaktionsbehandling, hvor ordren er vigtig. Overvej et tilfælde, hvor en webside skal returnere en bekræftelsesside, efter at brugeren har klikket på noget. Denne opgave kræver synkronisering af anmodningerne.

instagram story viewer