Ajax リクエストにおける async:false/true (同期/非同期) の役割

青灯夜游
リリース: 2018-10-12 16:57:26
転載
2678 人が閲覧しました

この記事では、Ajax リクエストにおける async:false/true (同期/非同期) の役割について説明します。必要な方は参考にしていただければ幸いです。

async: デフォルトは true で、これは非同期モードです。 $.Ajax が実行された後、サーバーがデータを返すまで、ajax の背後にあるスクリプトが実行され続けます。 $.Ajax の success メソッドは、この時点で 2 つのスレッドによって実行されます。 false に設定すると、すべてのリクエストは同期リクエストとなり、値を返す前にブラウザがロックされるため、ユーザーはリクエストが他の操作を実行する前に完了するまで待つ必要があります。

以下の例を確認してください:

var temp;
$.ajax({

   async: false,
   type : "POST",
   url : defaultPostData.url,
   dataType : 'json',
   success : function(data) 
   {

      temp=data;
   }

});

alert(temp);
ログイン後にコピー

この ajax リクエストは同期リクエストであり、戻り値がなくなるまで、alert(temp) は実行されません。

async が true に設定されている場合、ajax リクエストによって返される結果を待機せず、ajax に続くステートメントを直接実行します。

しかし、同期リクエストを設定する上記の方法について、一部のネチズンは、async を false に設定した後、当初の目的はデータを返し、予想外に $.Ajax の背後でスクリプトを実行することであったと報告しました。 Firefox で問題が発生しました。ブラウザ (Firefox 11.0) の下にスプラッシュ画面が表示され、スクロール バーを一番下まで引き下げると ajax がトリガーされます。最終的には、async:false をコメント アウトすることしかできません。つまり、async が true の場合、Firefox ブラウザのスクロール バーが一番下まで引き下げられ、ajax がスプラッシュ スクリーンとして表示される問題は正常に解決されました。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、AJAX ビデオ チュートリアルをご覧ください。

関連する推奨事項:

AJAX オンライン マニュアル

##Ajax の基本的なビデオ チュートリアル

以上がAjax リクエストにおける async:false/true (同期/非同期) の役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!