구문:
$("#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>
클릭 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){ })의 실행 함수에는 매개변수가 있을 수 있습니다.
이러한 방식으로 함수는 전역 함수
이지만 다른 매개변수 값에 따라 다른 트리거에 대해 다른 효과를 생성하도록 할 수 있습니다. 다음 예를 참조하세요.$("#msg").ajaxSend(function(event, obj, options){}) 함수의 경우 형식 매개변수의 경우 위치가 일치하는 한 어떤 문자인지는 중요하지 않습니다. 이를 나타내는 데 사용됩니다 event - 이벤트 객체를 포함하는 많은 특정 속성이 있습니다. 알아야 할 가장 중요한 속성 중 하나는 객체에 {type: event name}이 포함되어 있다는 것입니다. ajax 전역 이벤트입니다. , obj - 주로 요청 상태 매개변수인 XMLHttpRequest 객체를 포함합니다. 개체. - AJAX 요청에 사용되는 옵션이 포함되어 있습니다. 주로 위에 사용된 URL과 같은 현재 요청의 일부 설정 매개변수입니다.모든 속성을 보려면 console.info()를 사용하여 인쇄할 수 있습니다. 스크린샷에 표시된 대로 콘솔: 위 내용은 jQuery 함수 $.ajaxSend()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!<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입니다. 즉, 이벤트 객체의 값이 "ajaxSend"