jQuery関数 $.ajaxSend()

巴扎黑
巴扎黑オリジナル
2017-07-03 10:50:55985ブラウズ

構文:

$("#msg").ajaxSend(function(evt,request,settings){});

AJAXリクエストを送信する前に関数を実行します。アヤックスのイベント。

XMLHttpRequest オブジェクトと設定は、パラメータとしてコールバック関数に渡されます

$("#msg").ajaxSend(function(evt,request,settings){}) はグローバル イベントです、つまり、

ページでこの関数が定義されている限り、その関数は各 ajax リクエストの前に実行されます。これは関数の前のセレクター #msg とは何の関係もありません。 $.get や $.post request

の使用とは何の関係もありません。次の例を見てください:

<script type="text/javascript">
	$(document).ready(function() {

		$("#msg").ajaxSend(function() {
			alert("无论点击按钮1还是按钮2,都会触发我");
		});

		$("#btn1").click(function() {
			$.post("test1", function() {
				$("#msg").val("haha");
			});
		});

		$("#btn2").click(function() {
			$.get("test2", function() {
				$("#msg").val("haha");
			});
		});
	})
</script>

<body>
	<input type="text" id="msg" value="" />
	
	<button id="btn1">
		按钮1
	</button>
	<button id="btn2">
		按钮2
	</button>
</body>
グローバル イベントは 1 か所でのみ定義されています $("#msg").ajaxSend(function(){});

id= をクリックしたかどうかがわかりました。 btn1" $.post リクエストを実行するか、id="btn2" をクリックして $.get リクエストを実行するかにかかわらず、グローバル イベントがトリガーされます。

上記の定義 $("#msg") に注意してください。 ajaxSend(function(){}); イベントはどの

onClick イベントにもありません。

btn1 または btn2 のクリック イベントで定義されている場合、グローバル イベントは実行回数を上書きするのではなく増加させます。

$("#msg").ajaxStart(function(){ }) と $("#msg")ajaxSend(function(){ }) はほとんど同じように使用され、グローバル イベントでもあります。

違いは、
ajaxStartがajaxSendよりも先に実行されることです。また、$("#msg").ajaxStart(function(){ })の実行関数にはパラメータがありません

。 "#msg") の実行関数 ajaxSend(function(evt, request, settings){ }) にはパラメータを指定できます。

このようにして、関数は グローバル関数

ですが、異なるパラメーター値に応じて異なるトリガーで異なる効果を生成することができます。次の例を参照してください:

<script type="text/javascript">
	$(document).ready(function() {

		$("#msg").ajaxSend(function(event, obj, options) {
			if (options.url == "test1") {
				alert("按钮1");
			} else if (options.url == "test2") {
				alert("按钮2");
			}
		});

		$("#btn1").click(function() {
			$.post("test1", function() {
				$("#msg").val("haha");
			});
		});

		$("#btn2").click(function() {
			$.get("test2", function() {
				$("#msg").val("haha");
			});
		});
	})
</script>
<body>
	<input type="text" id="msg" value="" />

	<button id="btn1">
		按钮1
	</button>
	<button id="btn2">
		按钮2
	</button>
</body>
2 番目の例と最初の例。これに比べて、ajaxSend関数にパラメータを追加し、関数内で判定するようにしました。

$("#msg").ajaxSend(function(event, obj, options){}) 関数の場合、仮パラメータの場合、位置が対応している限り、どの文字が含まれているかは関係ないことに注意してください。それらを表すために使用されます

event - イベント オブジェクトを含む特定の属性が多数あります。知っておく必要がある最も重要な属性の 1 つは、イベント名が ajax グローバル イベントであることです。 ,

この場合はajaxSend、つまりイベントオブジェクトには値が「ajaxSend」である属性タイプがあると言われています

obj

-主にXMLHttpRequestオブジェクト、主に次のリクエストステータスパラメータが含まれていますオブジェクト。

オプション

- AJAXリクエストで使用されるオプションが含まれています。主に、上記で使用されているURLなど、現在のリクエストのいくつかの設定パラメータです

すべての属性を表示したい場合は、console.info()を使用して出力できます。コンソール、スクリーンショットに示すように:


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

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