0

async: false, or async: true どこでJquery Ajax メソッドを使用する必要があるのか​​ 疑問に思っています

フィールドを持つフォームが1つあり、ボタンをクリックすると、jquery ajaxメソッドを呼び出して、このフィールドからサーバーに値を保存しています

$.ajax({
                        url: "../Member/Home.aspx/SaveClient",
                        type: "POST",
                        async: false,
                        dataType: 'json',
                        contentType: 'application/json; charset=utf-8',
                        data: "{'projectSoid': '" + $("#hdnValueProjectSoid").val()
                            + "', 'name': '" + Name
                            + "', 'industry ': '" + Industry
                            + "', 'descriptions ': '" + Descriptions
                            + "', 'employment ': '" + Employment
                            + "', 'email  ': '" + Email
                            + "', 'phone  ': '" + Phone + "'}",
                        success: function (response) {
                            if (response.d != null) {

                        },
4

2 に答える 2

0

これがユースケースです。ドキュメントから。

デフォルトでは、すべてのリクエストは非同期で送信されます(つまり、これはデフォルトでtrueに設定されています)。同期リクエストが必要な場合は、このオプションをfalseに設定してください。クロスドメインリクエストとdataType:「jsonp」リクエストは同期操作をサポートしていません。同期リクエストはブラウザを一時的にロックし、リクエストがアクティブな間はアクションを無効にする可能性があることに注意してください。jQuery 1.8以降、jqXHR($ .Deferred)でのasync:falseの使用は非推奨になりました。jqXHR.done()や非推奨のjqXHR.success()などのjqXHRオブジェクトの対応するメソッドの代わりに、success / error/completeコールバックオプションを使用する必要があります。

非同期

  1. クロスドメインリクエストを行っているとき。
  2. これは$.ajaxのデフォルト設定です。

同期:

  1. ajax呼び出しのリクエストを終了したい場合、つまり次々にリクエストを行うことを意味します。これは推奨されません。

jqueryで非同期

于 2013-03-08T08:41:08.877 に答える
0

Async : 取得しようとしている ajax 応答は、実行中の次のタスクに依存しません。

同期: 受信しようとしている ajax 応答は、実行中の次のタスクに依存しています。

于 2013-03-08T08:47:05.000 に答える