> 웹 프론트엔드 > JS 튜토리얼 > jQuery 함수 $.ajaxSend()

jQuery 함수 $.ajaxSend()

巴扎黑
풀어 주다: 2017-07-03 10:50:55
원래의
981명이 탐색했습니다.

구문:

$("#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>
로그인 후 복사
전역 이벤트는 한 곳에서만 정의됩니다. $("#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>
로그인 후 복사
두 번째 예와 첫 번째 이에 비해 ajaxSend 함수에 매개변수를 추가하고 함수에서 판단을 내렸습니다.

$("#msg").ajaxSend(function(event, obj, options){}) 함수의 경우 형식 매개변수의 경우 위치가 일치하는 한 어떤 문자인지는 중요하지 않습니다. 이를 나타내는 데 사용됩니다

event - 이벤트 객체를 포함하는 많은 특정 속성이 있습니다. 알아야 할 가장 중요한 속성 중 하나는 객체에 {type: event name}이 포함되어 있다는 것입니다. ajax 전역 이벤트입니다. ,

이 경우에는 ajaxSend입니다. 즉, 이벤트 객체의 값이 "ajaxSend"

obj

인 속성 유형을 갖는다고 합니다.

- 주로 요청 상태 매개변수인 XMLHttpRequest 객체를 포함합니다. 개체.

options

- AJAX 요청에 사용되는 옵션이 포함되어 있습니다. 주로 위에 사용된 URL과 같은 현재 요청의 일부 설정 매개변수입니다.모든 속성을 보려면 console.info()를 사용하여 인쇄할 수 있습니다. 스크린샷에 표시된 대로 콘솔:


위 내용은 jQuery 함수 $.ajaxSend()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿