javascript - 修改XMLHttpRequest数据

标签 javascript ajax xmlhttprequest

我一直在修改对象。是否可以修改 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);
    };
})();

最佳答案

您所做的方法确实与内置打开方法发生冲突!因此,在这种情况下,内置的胜利作为默认方法。您应该命名为 open2Open_open 或您喜欢的名称,以避免冲突。但请记住,您不能使用 XMLHttpRequest 中已有的任何方法!这是一个示例。

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

关于javascript - 修改XMLHttpRequest数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35409692/

相关文章:

java - SonarQube 如何使用 Web API 登录

javascript - 当我使用 XMLHttpRequest 和 SAS 将图像放入 azure blob 存储时格式错误

php - 在 drupal 7 中,我们如何使用 ajax 回调函数将下拉值作为参数传递?

javascript - 对象中存储的函数的回调

javascript - 使用 Backbone.js 创建子菜单

javascript - 切换 CSS 类对元素没有影响

javascript - Selenium - 从框架 [0] 切换到窗口 [1] 后出现 NoSuchElementException - Firefox GeckoDriver 错误 - Python

javascript - 尝试在 OSX 10.6 上的 JSTestDriver 中使用 --browser 时权限被拒绝

Javascript jQuery 错误重载 Ajax 请求?

javascript - 通过 jqXhr 访问 Ajax 调用响应 PHP