AJAX监听

jqueryjs两种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>

これでおしまい( ^_^ )/~~

相关推荐