BeforeSend主なユーザーは、以下の方法があります:
リクエストAJAXを送信する前にヘッダを設定するための要求
すなわちフロントとして、私たちは次のように行うことができ、データのリクエストヘッダを送信する前に設定する場合:
beforeSend:関数(リクエスト){ request.setRequestHeader( "BBG-キー"、 "ab9ef204-3253-49d4-b229-3cc2383480a6" )。 }、
データの重複を防ぎます
ユーザーが時々送信ボタンをクリックしたが、フォームを送信しますが、原因ネットワーク上の理由から、データを返しませんでした一時的な状況があるだろうときに、ユーザーが成功をクリックしないと思うだろう、それは---重複データの数を生成するためのデータベースが発生しますダーティデータは、私たちは完全に回復した後、ボタンの機能を提出beforeSendが無効に追加することができ、次のとおりです。
// スプーラにフォームデータを送信する の$アヤックス({ :タイプの "POST" 、 データ:studentInfo、 contentTypeの: "アプリケーション/ JSON" 、 URL: "/ホーム/送信" 、 beforeSend:機能(){ // 無効ボタン重複防止の提出 $( "#送信")のattr({[無効]: "Disabled"に}); }、 成功:機能(データ){ IF(データは== "成功" ){ // クリア入力ボックス ClearBox(); } }、 コンプリート:関数(){ $(。 "#submit")removeAttr( "無効" )。 }、 エラー:関数(データ){ console.info( "エラー:" + data.responseText)。 } })。
アナログトースト効果
データリストをロードするためのサーバーへの負荷AJAXリクエストを要求されたら(「ロード、...お待ちください」)
$アヤックス({ タイプ: "ポスト" 、 contentTypeの: "アプリケーション/ JSON" 、 URL: "/ホーム/ GetListの" 、 beforeSend:機能(){ $( "ロード" ).SHOW(); }、 成功:機能(データ){ 場合(データ== "成功" ){ // ... } }、 完全な:関数(){ $( "ロード" ).hide(); }、 エラー:関数(データ){ console.info("エラー:" + data.responseText)。 } })。