修改 XMLHttpRequest 数据

Modify XMLHttpRequest data

我一直在修改对象。是否可以修改 XMLHttpRequest 并且可以将其实现到我的代码中?我搜索了很多,找不到答案或教程。

代码:

(function() {
    var origOpen = XMLHttpRequest.prototype.open;

    XMLHttpRequest.prototype.open = function(data, url, async) {
        data = data.toLowerCase();
        if(data === 'post' || data === 'get'){
            this.addEventListener('load', function() {
                url = url.toString();

                if(String(url)){
                    var newUrl = url.split('index.php?id=').pop();
                    newUrl = newUrl.split('&');
                    if(isNumber(newUrl[0]) && newUrl[0] !== '115' && newUrl[0] !== '9' && newUrl[0] !== '152' && newUrl[0] !== '143' && newUrl[0] !== '2' && newUrl[0] !== '96'){
                       var checked = AccessDenied(newUrl[0]);
                       if(checked === false){

                           //Here comes code to modify data

                       }
                    }
                }
            });
        };
        origOpen.apply(this, arguments);
    };
})();

你这个方法确实和内置的open方法有冲突!所以在这种情况下,内置的 wins 是默认方法。您应该命名为 open2Open_open 或您喜欢的名称以避免冲突。但请记住,您不能使用 XMLHttpRequest 中已有的任何方法!这是一个例子。

XMLHttpRequest.prototype._open = function(data, url, async) { //...code };