ホームページ  >  記事  >  ウェブフロントエンド  >  jquery ajax リクエスト メソッドが表示され、処理中であることがユーザーに表示されます。お待ちください。

jquery ajax リクエスト メソッドが表示され、処理中であることがユーザーに表示されます。お待ちください。

PHP中文网
PHP中文网オリジナル
2017-04-01 16:28:451707ブラウズ

ユーザー エクスペリエンスを向上させるために、通常は「処理しています、お待ちください!」などのプロンプトを表示します。 は、$.ajax() beforeS

end

() で $.ajax() を使用するときは区別していませんでした。 Ajax の非同期リクエストと同期リクエストには違いがあります。私が初めて同期リクエストを使い始めたとき、特に経験の面で多くの問題が発生しました。
非同期と同期:
同期とは、プログラムのあるセクションが実行される前に、次のセクションが実行されることを意味します。これはブロッキング モードであり、Web ページ上でその現象が発生します。ブラウザはページをロックします (つまり、いわゆるページ一時停止状態 ステータス )、ユーザーは 他の を操作できず、現在のリクエストがデータを返すまで待つ必要があります。非同期リクエストの場合、ページはフリーズしません。
ユーザー エクスペリエンスの向上:
ユーザーがデータを送信してページが結果を返すまで待機する場合、ユーザー エクスペリエンスを向上させるために、通常、この待ち時間が比較的長くなることがあります。 「処理しています、お待ちください!」などのプロンプトが表示されます。これを実現するには、$.ajax() の下にパラメータ beforeSend() を設定します。
例:
html キー コード

<p id="warning"></p>

js キー コード ファイル内

$.ajax(function(){
.
.
.
//省略了一些参数,这里只给出async 和 beforeSend
async: false, //同步请求,默认情况下是异步(true)
beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}
});

同期に従って async: false を設定した場合、$('#warning').text('処理中、お待ちください!'); ウェブ上ではまったく影響がないことに注意してください。 $('#warning').text('Processing,please wait!'); をalert('test'); に置き換えると、リクエストを送信する直前にポップアップ ボックスが表示されます。しかし、これを $('#warning').text('Processing,please wait!'); のような別の値に変更すると、リクエストが結果を返すときにプロンプ​​トが表示されません。私はこの問題について長い間疑問に思っていますが、何が問題なのかはまだわかりません。
同期リクエストを非同期リクエストに変更すると、上記の問題は解消されます。

beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}

はすぐに実行されます。

上記は、jquery ajax リクエスト メソッドと、処理中にユーザーに待機を促すコンテンツです。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

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