Anonim

V predvolenom nastavení je požiadavka $ .ajax v jQuery nastavená na asynchrónnu. Názov premennej je asynchrónny a hodnota je nastavená na true. Toto ma trochu zmätilo, keď som sa o tom prvý krát dozvedel, takže poďme na to.

Asynchrónne vs. synchrónne

Predvolené nastavenie v jQuery. Podľa mojej skúsenosti by mal asynchrónny takmer vždy robiť ten trik. Existujú najmä dve situácie, ktoré neumožňujú synchrónny hovor.

  • Požiadavky naprieč doménami. Ak robím požiadavku ajax zo stránky techjunkie.com do súboru naevercov.com (úplne iná doména), bola by to požiadavka naprieč doménami.
  • jsonp - Ak chcete získať údaje medzi doménami JSON, hľadáte JSONP.

Kedy použiť synchronné

Najprv by ste si mali byť vedomí, že nastavenie asynchrónnej hodnoty na hodnotu false zamrzne váš prehliadač. Úplne to uzamkne. Nielen vaša stránka, ale každá stránka, ktorú môže mať používateľ otvorený. Napríklad, ak váš server spomaľuje požiadavku v polovici, účinne ste deaktivovali jeho prehliadač, až kým server nemá šancu dohnať a odovzdať potrebné údaje.

Namiesto toho, aby ste riskovali synchrónnym volaním, jednoducho zadajte funkciu spätného volania pri úspechu alebo chybe. Dostanete sa k rovnakému cieľovému bodu bez toho, aby ste mohli narušiť používateľské prostredie prehliadania. Stručne povedané, nepoužívajte synchrónny hovor. Je to zlé pre vašu aplikáciu a UX.

Rozdiel medzi synchrónnym a asynchrónnym v ajaxe