ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery_jqueryにおけるajaxの非同期同期と非同期について詳しく解説

jQuery_jqueryにおけるajaxの非同期同期と非同期について詳しく解説

WBOY
リリース: 2016-05-16 15:37:35
オリジナル
1452 人が閲覧しました

プロジェクトにはそのような要件があり、ajax を使用してデータをロードし、ページを返して値を割り当て、フロントエンドで値を取り出します

これにはコードの順序が関係します。場合によっては、バックグラウンドでデータが返されていないにもかかわらず、後続のコードが実行されます。

そのため、値を取得できません

$.ajax({ type: "post",  url: "admin/PfmOptionRuleItem.do", success: function(data){  $("#ruleItem").val(data.ruleItem); //① } }); return $("#ruleItem").val(); //②
ログイン後にコピー
①がバックグラウンドからデータを返していない場合、この時点で②を実行すると値を取得できません

Ajax の最初の文字は非同期の最初の文字であり、すべての操作が並列であり、完了の順序に関係がないことを意味します。

$.ajax() の async パラメーターは常に true に設定され、これはリクエストの開始後も他のコードを実行できることを示します。

このオプションが false に設定されている場合、すべてのリクエストが非同期ではなくなることを意味し、ブラウザがロックアップする原因にもなります。

公式はこれを推奨していませんが、ユーザーエクスペリエンスが低下するため、あまり使用しないでください

栗をください

alert("setp 1"); $.ajax({  url: "admin/PfmOptionRuleItem.do",  async: false,  success: function(data){   alert("hello ajax"); //①  } }); alert("setp 2"); //②
ログイン後にコピー

asyn が false に設定されている場合、ajax リクエストは、この時点で ajax ブロックがリクエストを送信した後に同期されます。

彼は①で待機し、①が完了するまで②は実行しません

現時点での実行順序は

設定 1

こんにちは、ajax

設定 2

async が true の場合、実行順序は

設定 1

設定 2

こんにちは、ajax

この記事で説明するajaxの非同期同期とjQueryの非同期について、皆さんの参考になれば幸いです。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート