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 被视为两个不同的域。

于 2012-12-04T17:54:54.380 回答