javascript ajax拦截

时间:2012-12-04 17:44:29

标签: javascript ajax xmlhttprequest intercept

我使用以下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调用时,上面的代码无法拦截该请求。

有人知道它为什么不起作用吗?

1 个答案:

答案 0 :(得分:1)

您似乎是same origin policy的受害者,因为example.com和sub.example.com被视为两个不同的域。