0

次の JavaScript コードを使用して ajax 呼び出しをインターセプトしています。

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 呼び出しを実行する JavaScript と上記のコードは、次の場所からロードされます。
https://example.com/js/main.js
https://example.com/js/intercept.js

上記のコードは、ajax 呼び出しのドメインが "example.com" だけの場合はうまく機能しますが、ドメイン "sub.example.com" に対して ajax 呼び出しが行われると、上記のコードはその要求をインターセプトできません。

なぜそれがうまくいかないのか誰か知っていますか?

4

1 に答える 1

1

example.com と sub.example.com は 2 つの異なるドメインと見なされるため、同じオリジン ポリシーの犠牲になっているようです。

于 2012-12-04T17:54:54.380 に答える