Heim > Web-Frontend > js-Tutorial > jQuery-Funktion $.ajaxSend()

jQuery-Funktion $.ajaxSend()

巴扎黑
Freigeben: 2017-07-03 10:50:55
Original
1014 Leute haben es durchsucht

Syntax:

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

Funktion ausführen, bevor die AJAX-Anfrage gesendet wird. Ajax-Events.

Das XMLHttpRequest-Objekt und die Einstellungen werden als Parameter an die Callback-Funktion

$("# msg") .ajaxSend(function(evt,request,settings){}) ist ein globales Ereignis , das heißt

Solange die Seite diese Funktion definiert , dann wird diese Funktion vor einer Ajax-Anfrage ausgeführt. Dies hat nichts mit dem Selektor #msg vor der Funktion zu tun oder $.Anfrage posten

Nichts zu tun. Schauen Sie sich das folgende Beispiel an:

Das globale Ereignis ist nur an einer Stelle definiert $("#msg").ajaxSend(function(){});

<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>
Nach dem Login kopieren

Wir haben festgestellt, dass das globale Ereignis ausgelöst wird, egal ob wir auf id="btn1" klicken, um die $.post-Anfrage auszuführen, oder auf id="btn2", um die $.get-Anfrage auszuführen.

Erforderlich Beachten Sie, dass das oben definierte Ereignis $("#msg").ajaxSend(function(){}); in keinem

onClick-Ereignis enthalten ist.

Wenn es in einem Klickereignis in BTN1 oder BTN2 definiert ist, erhöht das globale Ereignis die Anzahl der Ausführungen, anstatt sie zu überschreiben.

$("#msg").ajaxStart(function(){ }) und $("#msg")ajaxSend(function(){ }) werden meist auf die gleiche Weise verwendet Ereignisse.

Der Unterschied besteht darin, dass
ajaxStart früher ausgeführt wird als ajaxSend. Darüber hinaus ist die Ausführungsfunktion von $("#msg").ajaxStart(function(){ } ) Keine Parameter

und die Ausführungsfunktion von $("#msg").ajaxSend(function(evt, request, Settings){ }) kann Parameter haben.

Obwohl es sich bei der Funktion um eine globale Funktion

handelt, können wir auf der Grundlage unterschiedlicher Parameterwerte unterschiedliche Effekte auf verschiedene Auslöser erzeugen :

Im Vergleich zum ersten Beispiel fügt das zweite Beispiel Parameter zur ajaxSend-Funktion hinzu und beurteilt die Funktion.

<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>
Nach dem Login kopieren

Achten Sie bei der Funktion $("#msg").ajaxSend(function(event, obj, options){}) auf die formalen Parameter, sofern die Positionen übereinstimmen , welche Zeichen verwendet werden Es spielt keine Rolle

Ereignis – Es gibt viele spezifische Attribute, die das Ereignisobjekt enthalten. Das wichtigste Attribut, das Sie wissen müssen, ist, dass das Objekt {Typ: Ereignisname}. Der Ereignisname ist ajax Global event,

in diesem Beispiel ist ajaxSend, was bedeutet, dass das Ereignisobjekt einen Attributtyp hat, dessen Wert „ajaxSend“ ist

obj

- Enthält das XMLHttpRequest-Objekt, hauptsächlich die Anforderungsstatusparameter des Objekts.

Optionen

- Enthält Optionen, die in AJAX-Anfragen verwendet werden, hauptsächlich einige Einstellungsparameter der aktuellen Anfrage, wie z. B. die oben verwendete URL

Wenn Sie Um alle Eigenschaften anzuzeigen, können Sie mit console.info() auf der Konsole drucken, wie im Screenshot gezeigt:


Das obige ist der detaillierte Inhalt vonjQuery-Funktion $.ajaxSend(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage