나는이 세 가지 기능을 가지고 상상 :
$(document).ajaxSuccess(function(event, xhr, settings) {
console.log('ajaxSuccess fired');
});
function doCall1() {
var xhr = new XMLHttpRequest();
xhr.open('get', 'someurl.com', true);
xhr.send();
}
function doCall2(){
$.get('someurl.com');
}
내가 doCall1
전화
ajaxSuccess
가 발생하지 않습니다. 그러나
doCall2
으로 전화하면
ajaxSuccess
이 실행됩니다.
나는 사실 jQuery가 XMLHttpRequest의 onreadystatechange/readyState를 보지 않고 실제로 $ .ajax()의 다양한 메소드에 콜백 함수를 사용하고 있음을 이해한다. , 그러나 나는 아직도 완전히 이해하지 못한다.
누군가가 나에게 빠른 설명을 주거나 다른 문서를 보내 주면 나머지 부분을 가져올 수 있습니까?
위해 xhr.send가 JQuery와 방법이 아닙니다 : 어떤 이유로 당신이 jQuery를하고 바닐라 JS 간의 상호 운용성 원한다면, 당신은 (
CustomEvent
에 대한 해당 브라우저 지원이 제한됩니다주의와) 이벤트를 직접 전달할 수 있습니다 그것을 가로 채지 않습니다. –jQuery는 jQuery 메서드를 통해 작성된 AJAX 요청 만 추적 할 수 있습니다. XHR은 기본 JS입니다. –
jquery의 콜백 (ajaxSuccess) xhr은 jquery의 일부가 아니며 해당 기본 – atmd