Anonim

Som standard er $ .ajax-anmodningen i jQuery indstillet til asynkron. Variabelnavnet er async, og værdien er indstillet til sand. Dette gav mig også en lille forvirring, når jeg først lærte om det, så lad os undersøge det.

Asynkron vs. Synkron

Standardindstillingen i jQuery. Efter min erfaring skal Asynkron næsten altid gøre det. Der er især 2 situationer, som ikke engang giver mulighed for et synkroniseret opkald.

  • Forespørgsler på tværs af domæner. Hvis jeg laver en ajax-anmodning fra techjunkie.com til en fil på hvor som helst.com (et helt andet domæne), ville det være en anmodning på tværs af domæner.
  • jsonp - Hvis du søger efter at hente JSON-datatværnedomæne, er JSONP det, du leder efter.

Hvornår skal man bruge Synkron

Du skal først være opmærksom på, at indstilling af async til falsk fryser din browser. Den låser den helt. Ikke kun din side, men hver side, som brugeren muligvis har åben. For eksempel, hvis din server bremser midt i anmodningen, har du effektivt deaktiveret deres browser, indtil din server har en chance for at indhente og videresende de nødvendige data.

I stedet for at risikere det med et synkront opkald, skal du bare specificere en tilbagekaldsfunktion ved succes eller fejl. Du kommer til det samme slutpunkt uden muligvis at ødelægge brugerens browseroplevelse. Kort sagt, brug ikke et synkronopkald. Det er dårligt for din ansøgning og UX.

Forskel mellem synkron og asynkron i ajax