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

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

亚连
亚连オリジナル
2018-05-25 09:55:332163ブラウズ

jquery ajax 同期とは、JS コードが現在の ajax にロードされると、ページ内のすべてのコードのロードが停止し、ページが一時停止されたアニメーションの状態で表示され、ajax が完了すると実行が継続されることを意味します。他のコードとサスペンド状態は解除されます。非同期とは、この ajax コードの実行中に他のコードも実行できることを意味します。この記事では詳しい説明をしますので、興味のある方は参考にしてください。以前に JQUERY コードを書いたとき、AJAX でデータをロードするときにコードの実行順序を考慮する必要がありました。最近のプロジェクトでは AJAX 同期が使用されています。この同期が意味するのは、JS コードが現在の AJAX にロードされると、ページ内のすべてのコードのロードが停止し、AJAX が完了するとページが一時停止されたアニメーション状態から抜け出し、他の動作が継続されることです。コードとページの一時停止アニメーション状態が解除されます。

この AJAX コードの実行中に、他のコードを非同期的に実行できます。

jquery の async:false、このプロパティ

のデフォルトは true: 非同期、false: 同期です。

$.ajax({ 
    type: "post", 
    url: "path", 
    cache:false, 
    async:false, 
    dataType: ($.browser.msie) ? "text" : "xml", 
     success: function(xmlobj){ 
    } 
});

この属性があると、本の順序を実行するコードの問題を比較的軽減できますが、使用しすぎると、ページが何度もフリーズします。これはユーザーエクスペリエンスの低下につながります~!

$.Ajax() での async と success の公式説明:

async 
Boolean 
Default: true
By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
success 
Function
A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. This is an Ajax Event.

ここで、async のデフォルト設定値は true で、これは非同期メソッドです。これは、ajax がリクエストを送信した後、サーバーが戻るのを待っている間、フロント デスクは ajax ブロックの背後でスクリプトを実行し続けます。サーバーが正しい結果を返すまで、成功は実行されません。つまり、この時点で 2 つのスレッドが実行され、その後に 1 つずつ実行されます。 ajax ブロックがリクエストを送信します。 ajax ブロックの背後にあるスレッドとスクリプト (別のスレッド) の例:

function2(); 上の例では、ajax ブロックがリクエストを行うとき、彼はfunction1() に留まり、サーバーを待ちます。最後は戻りますが、同時に (この待機プロセス中に) フォアグラウンドで function2() が実行されます。つまり、この時点で 2 つのスレッドが表示されます。ここでは function1() と function2() です。

リクエストは同期的に行うことができ、同期的に行うことができます function1() 部分が実行されます。

上記は私があなたのためにまとめたものです。 関連記事:

Jqueryの具体的な例で、AJAXを使用するタイミングとAJAXを使用する必要がある場所を紹介します

jqueryとphpを組み合わせてAJAXロングポーリングを実装します


JavaScript、Ajax、jQueryの予備理解, そして、3人の関係性を比べてみましょう


以上がjqueryにおけるajaxの同期と非同期について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。