Anonim

Pēc noklusējuma jQuery pieprasījums $ .ajax ir iestatīts uz asinhrono. Mainīgā nosaukums ir asinhrons, un vērtība ir iestatīta uz patiesu. Tas manī arī radīja nelielu neskaidrību, kad pirmo reizi par to uzzināju, tāpēc pārdomāsim to.

Asinhronā pret sinhrono

Noklusētais iestatījums jQuery. Pēc manas pieredzes, asinhronajam gandrīz vienmēr vajadzētu darīt to triku. Īpaši ir arī 2 situācijas, kas pat neļauj veikt sinhronu zvanu.

  • Starpdomēnu pieprasījumi. Ja es daru ajax pieprasījumu no techjunkie.com uz failu, kas atrodas whereever.com (pilnīgi atšķirīgs domēns), tas būtu starpdomēnu pieprasījums.
  • jsonp - ja vēlaties iegūt JSON datu starpdomēnu datus, JSONP ir tas, ko meklējat.

Kad lietot sinhronu

Vispirms jums jāzina, ka async iestatīšana uz viltus iesaldē jūsu pārlūkprogrammu. Tas to pilnībā aizslēdz. Ne tikai jūsu lapa, bet arī katra lapa, kuru lietotājs, iespējams, ir atvēris. Piemēram, ja jūsu serveris palēnina pieprasījuma vidusdaļu, jūs esat efektīvi atspējojis viņu pārlūku, līdz jūsu serverim ir iespēja panākt un nodot vajadzīgos datus.

Tā vietā, lai riskētu ar sinhronu zvanu, vienkārši norādiet veiksmes vai kļūdas atzvanīšanas funkciju. Jūs nokļūsit vienā un tajā pašā parametrā, iespējams, nesabojājot lietotāja pārlūkošanas pieredzi. Īsāk sakot, nelietojiet sinhrono zvanu. Tas kaitē jūsu lietojumprogrammai un UX.

Atšķirība starp sinhronu un asinhronu ajax