페이지의 모든 AJAX 요청 연결
추가 작업을 수행하도록 AJAX 요청을 수정하는 것은 디버깅, 분석 또는 기타 목적에 매우 중요할 수 있습니다. . 그러나 한 페이지에서 서로 다른 AJAX 라이브러리를 사용하는 여러 타사 스크립트가 있으면 이를 모두 가로채는 것이 어려워 보일 수 있습니다.
AJAX 요청 가로채기
모든 AJAX를 모니터링하려면 요청을 하면 XMLHttpRequest 객체를 활용할 수 있습니다. 다음은 여러 라이브러리에서도 작동하는 강력한 솔루션입니다.
(function() { var origOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function() { console.log('request started!'); this.addEventListener('load', function() { console.log('request completed!'); console.log(this.readyState); //will always be 4 (ajax is completed successfully) console.log(this.responseText); //whatever the response was }); origOpen.apply(this, arguments); }; })();
이 코드는 XMLHttpRequest의 open 메서드를 재정의하여 로드 이벤트에 대한 이벤트 리스너를 등록합니다. 요청이 시작되면 시작 시간이 기록됩니다. 요청이 완료되면 종료 시간, 준비 상태 및 응답 텍스트가 기록됩니다.
참고: 이 방법은 기본 가져오기 요청에는 작동하지 않습니다. 그러나 필요한 경우 가져오기에 대해 유사한 프록시 접근 방식을 채택할 수 있습니다.
위 내용은 웹 페이지의 모든 AJAX 요청을 어떻게 가로챌 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!