Anonim

デフォルトでは、jQueryの$ .ajaxリクエストは非同期に設定されます。 変数名は非同期で、値はtrueに設定されます。 これについて最初に学習したときも少し混乱しましたので、もう一度見ていきましょう。

非同期と同期

jQueryのデフォルト設定。 私の経験では、非同期はほとんど常にトリックを行う必要があります。 また、同期呼び出しを許可しない2つの状況もあります。

  • クロスドメインリクエスト。 techjunkie.comからwhereever.com(完全に異なるドメイン)上のファイルへのajaxリクエストを行っている場合、それはクロスドメインリクエストになります。
  • jsonp –クロスドメインでJSONデータを取得する場合、JSONPが探しています。

同期を使用する場合

まず、非同期をfalseに設定するとブラウザがフリーズすることに注意してください。 完全にロックします。 ページだけでなく、ユーザーが開いている可能性のあるすべてのページ。 たとえば、サーバーがリクエストの途中で遅くなる場合、サーバーが必要なデータに追いついて渡す機会を得るまで、ブラウザーを事実上無効にします。

同期呼び出しでリスクを負う代わりに、成功またはエラー時にコールバック関数を指定するだけです。 ユーザーのブラウジングエクスペリエンスを損なうことなく、同じエンドポイントに到達します。 要するに、同期呼び出しを使用しないでください。 あなたのアプリケーションとUXにとっては悪いことです。

Ajaxの同期と非同期の違い