ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery関数 $.ajaxSend()
構文:
$("#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 サイトの他の関連記事を参照してください。