ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery.ajaxSend() 関数の使用方法の詳細な紹介

jQuery.ajaxSend() 関数の使用方法の詳細な紹介

巴扎黑
リリース: 2017-07-03 10:49:57
オリジナル
1414 人が閲覧しました

ajaxSend() 関数は、AJAX リクエストが送信されるときに実行される コールバック関数 を設定するために使用されます。

これは、イベント処理関数をAJAXリクエストのajaxSendイベントにバインドするために使用されるグローバルAJAXイベント関数です。 AJAX リクエストが送信される直前に、ajaxSend イベントがトリガーされ、バインドされたイベント処理関数が実行されます。

この関数は jQuery オブジェクト インスタンスで呼び出す必要があります。ajaxSend() はハンドラー関数を一致する各要素の ajaxSend イベントにバインドします。 AJAX リクエストが送信される直前に、一致するすべての要素の処理関数がトリガーされて実行されます。イベント ハンドラー内のこれは、現在の DOM 要素を指します。

同じ要素でこの関数を複数回呼び出して、複数のイベント ハンドラーをバインドできます。 ajaxSend イベントがトリガーされると、jQuery はバインドされたイベント処理関数をバインドの順序で実行します。

jQuery 1.8 以降、この関数はハンドラーを document オブジェクトの ajaxSend イベントにのみバインドできます。他の要素にバインドされたイベント ハンドラーは機能しません。

jQuery.ajax() または jQuery.ajaxSetup() でオプション パラメーター global を false に設定すると、AJAX リクエストがグローバル AJAX イベントをトリガーするのを防ぐことができます。

この関数はjQueryオブジェクト(インスタンス)に属します。

構文

この関数は jQuery 1.0 の新しい関数です。

jQueryObject.ajaxSend(handler)

Parameters

パラメータの説明

handler 関数の種類 このイベントがトリガーされたときに実行する必要があるイベント処理関数。

コールバック関数ハンドラーには 3 つのパラメーターがあります。1 つは現在のイベントを表す Event オブジェクト、もう 1 つは現在の AJAX リクエストを送信する jqXHR オブジェクト、3 つ目は、この AJAX リクエストに設定されたすべてのパラメーター オプション (指定する必要はありません) オブジェクト オブジェクト (デフォルトのパラメーター オプション付き)。

jqXHR オブジェクトは、jQuery によってカプセル化された XMLHttpRequest オブジェクトです (プロパティとメソッドの大部分を保持しています)。

戻り値

ajaxSend()関数の戻り値はjQuery型で、現在のjQueryオブジェクトそのものを返します。

例と説明

次の HTML サンプル コードを参照してください:

CodePlayer

プログラミング開発テクノロジーに焦点を当てる共有< ;/div>

http://www.365mini.com

以下は、ajaxSend() 関数をデモンストレーションするための ajaxSend() 関数に関連する jQuery サンプル コードです。 () 関数のパラメータの具体的な使用方法は異なります)。

//当前 jQuery版本:1.7.2 (必须是1.8之前的版本)
$("div").ajaxSend( function(event, jqXHR, options){
    alert("处理函数1: 当前元素的id为" + this.id + ",请求的url为" + options.url);
} );
$("div").ajaxSend( function(event, jqXHR, options){
    alert("处理函数2:请求方式为" + options.type);
} );
// 执行该AJAX请求,会弹出6次对话框
// 因为当前页面有3个div元素,我们为每个div元素绑定了2个事件处理函数
$.ajax( {
    url: "index.html"
} );
// 执行该AJAX请求,会弹出7次对话框
// 因为当前页面有3个div元素,我们为每个div元素绑定了2个事件处理函数
// 此外$.ajax()自己通过beforeSend选项绑定了一个局部的ajaxSend事件处理函数,它会执行一次
// 因此总共弹出7次对话框
$.ajax( {
    url: "myurl" ,
    beforeSend: function(jqXHR, options){
       alert( "即将开始发送!" );
       // return false; // 如果返回false,可以取消本次请求
    }
} );
ログイン後にコピー

現在の jQuery がバージョン 1.8 以降の場合、上記の jQuery コードは合計で 1 回だけダイアログ ボックスを表示します。 jQuery 1.8 以降では、ajaxSend イベントのハンドラー関数を有効にするためにドキュメント オブジェクトにバインドする必要があるためです。

したがって、現在の jQuery のバージョンに関係なく、特別な必要がない場合は、ajaxSend イベント ハンドラー関数をドキュメント オブジェクトにバインドする必要があります。

りー

以上がjQuery.ajaxSend() 関数の使用方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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