weixin_33701251 2016-02-15 12:42 采纳率: 0%
浏览 312

修改XMLHttpRequest数据

I'm stuck on modifying the object. Is it possible to modify XMLHttpRequest and is it possible to implement it into my code? I have searched a lot and can't find the answer or an tuturial.

code:

(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);
    };
})();
  • 写回答

1条回答 默认 最新

  • weixin_33688840 2018-12-24 10:13
    关注

    This, approach you made does make conflicts with the in-bulit open method! So in this case the in-built wins sits as the default method. You should name to open2 or Open or _open or as you like to aviod conflicts. But remember you can't use any method that's already in XMLHttpRequest! Here's an example of it.

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

报告相同问题?

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上