:
https://example.com/js/main.js
https://example.com/js/intercept.js
아약스 자바 스크립트 차단
:
이XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open;
var newOpen = function(method, url, async, user, password) {
console.log("Intercepted open (" + url + ")");
this.realOpen(method, url, async, user, password);
}
XMLHttpRequest.prototype.open = newOpen;
아약스 통화 및 위의 코드를 수행하는 자바 스크립트에서로드됩니다 위 코드는 ajax 호출 용 도메인이 "example.com"인 경우 잘 작동하지만 ajax 호출이 "sub.example.com"도메인 용으로 만들어지면 위 코드는 해당 요청을 가로 챌 수 없습니다.
아무도 왜 작동하지 않을지 알고 있습니까?
"작동하지 않음"이란 무엇입니까? 도메인 간 요청이므로 예외적으로해야합니다. – xiaoyi
아니요 콘솔에 오류/예외가 없습니다. "작동하지 않음"이란 말은 "sub.example.com"에 대한 ajax 요청이 도청되지 않는다는 의미입니다. console.log 항목이 표시되지 않습니다. 피들러 (Fiddler)를 통해 모든 브라우저 트래픽을 프록시 처리해야하므로 요청 사항을 확실히 알고 있습니다. – yatin
[CORS] (https://developer.mozilla.org/en-US/docs/HTTP_access_control)는 두 개의 요청으로 구성됩니다. 먼저 다른 페이지에서 현재 도메인의 요청을 허용하는지 확인한 다음 두 번째 요청에서 실제 요청을 보냅니다. 하나. 그래서 만약 당신이 단지 하나만 보게된다면, 문제가 있습니다. – xiaoyi