ajax监听

JQuery监听的使用方式:

<script type="text/javascript">  
/*……省略AJAX方法……*/  
$(document).ajaxSend(  
    function(event,request,settings){  
        alert(settings.url); //输出请求地址  
        alert(settings.data); //输出请求参数  
                alert(settings.type); //输出请求方式  
    }  
);  
</script>

 JS监听的使用方式:

<script type="text/javascript">  
/*……省略AJAX方法……*/  
var s_ajaxListener = new Object();  
          
//对IE6的处理  
if (typeof XMLHttpRequest === "undefined") {  
        XMLHttpRequest = function () {  
            try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }  
            catch (e) {}  
            try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }  
            catch (e) {}  
            try { return new ActiveXObject("Microsoft.XMLHTTP"); }  
            catch (e) {}  
            throw new Error("This browser does not support XMLHttpRequest.");  
        };  
}  
            
s_ajaxListener.tempOpen = XMLHttpRequest.prototype.open;  
s_ajaxListener.tempSend = XMLHttpRequest.prototype.send;  
s_ajaxListener.callback = function () {  
      alert(this.method); //请求方式  
      alert(this.url); //请求地址  
      alert(this.data); //请求参数  
};  
          
XMLHttpRequest.prototype.open = function(a,b) {  
      if (!a) var a='';  
      if (!b) var b='';  
      s_ajaxListener.tempOpen.apply(this, arguments);  
      s_ajaxListener.method = a;    
      s_ajaxListener.url = b;  
      if (a.toLowerCase() == 'get') {  
            s_ajaxListener.data = b.split('?');  
            s_ajaxListener.data = s_ajaxListener.data[1];  
      }  
};  
          
XMLHttpRequest.prototype.send = function(a,b) {  
      if (!a) var a='';  
      if (!b) var b='';  
      s_ajaxListener.tempSend.apply(this, arguments);  
      if(s_ajaxListener.method.toLowerCase() == 'post')s_ajaxListener.data = a;  
      s_ajaxListener.callback();  
};  
</script>

相关推荐