实现自己的Ajax对象封装器 -- Kajax --第一版完成
发布时间:2020-12-16 01:30:25 所属栏目:百科 来源:网络整理
导读:第一版 浏览: http://www.iamsese.cn/static/forwardAction.php?action=Kajax /** * Kajax 是自定义的 Ajax封装器 */function Kajax(){this.XMLHttp = this.getXMLHttpObject();}Kajax.prototype.getXMLHttpObject = function() {//define a bool paramter t
第一版 浏览: http://www.iamsese.cn/static/forwardAction.php?action=Kajax /** * Kajax 是自定义的 Ajax封装器 */ function Kajax(){ this.XMLHttp = this.getXMLHttpObject(); } Kajax.prototype.getXMLHttpObject = function() { //define a bool paramter to check IE instance var xmlhttp = false ; //check client brower is IE try { // If javascript is greater than 5 xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); //alert("You are using Microsoft Internet Explorer ."); } catch (e){ //else will use ActiveXObject older version try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //alert("You are using old Microsoft Internet Explorer ."); } catch (e){ //using brower is no IE. xmlhttp = false ; } } if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); //alert("You are not using Microsoft Internet Explorer ."); } catch(e){ xmlhttp = false ; } } return xmlhttp ; } Kajax.prototype.get = function (url,isAsyc){ var outstring = '' ; if (isAsyc==undefined) isAsyc=false ; if (this.XMLHttp) { this.XMLHttp.open("GET",url,isAsyc); var oThis = this.XMLHttp ; //这里复制oThis变量的作用是 不与onreadystatechange函数中的this域冲突 this.XMLHttp.onreadystatechange = function(){ if (oThis.readyState == 4 && oThis.status == 200 ) outstring += oThis.responseText ; } this.XMLHttp.send(null) ; } return outstring ; } /** * 同步获取一个JS文件,并执行 * @param {} url */ Kajax.prototype.getJS = function (url){ eval(this.get(url)); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |