首页 > 代码库 > ajax 原生态和jquery封装区别

ajax 原生态和jquery封装区别

一、原生态

 

var xmlHttp = false;try{	if( xmlHttp && xmlHttp.readyState != 0 ){	    xmlHttp.abort();         }		if (!xmlHttp){	    xmlHttp = getXMLHTTPObj();     				}				if(xmlHttp){  	    var url = "pages/overlapanalysis_PostResult.jsp?dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType				           +"&coordString="+coordString+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName						   +"&fldNames="+fldNames+"&whereSql="+whereSql;	    xmlHttp.open("POST",encodeURI(encodeURI(url)) , true);   	    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	    xmlHttp.setRequestHeader("Content-Type","text/xml;charset=GBK");	   //设置回调函数	   xmlHttp.onreadystatechange = function () {	      try{		if (xmlHttp.readyState == 1){		    window.status = "叠加分析中......";  		     				}else if (xmlHttp.readyState == 2){		    window.status = "叠加分析完毕";       	  			}else if (xmlHttp.readyState == 3){		    window.status = "叠加分析完毕.";       				}else if (xmlHttp.readyState == 4){		    window.status = "叠加分析完毕.";		    var retStr = xmlHttp.responseText;		    document.getElementById("data_txt").value = http://www.mamicode.com/retStr;"数据加载失败!:" + e);		}	}	xmlHttp.send(null);         	}else{	    alert("XMLHTTP对象创建失败");	 }	}catch (e){	    alert("数据加载失败!:" + e);} //创建XMLHTTP对象function getXMLHTTPObj(){		  var obj = null;		  try{			  obj = new ActiveXObject("Msxml2.XMLHTTP");		  }catch(e){		try{			obj = new ActiveXObject("Microsoft.XMLHTTP");		}catch(sc){			obj = null;			alert(‘创建XMLHTTP对象失败!‘);		}	  }	 if( !obj && typeof XMLHttpRequest != "undefined" ){  //not Microsoft Integer Explorer		 obj = new XMLHttpRequest();	 }	 return obj;}

 

$.ajax({                 url:"pages/overlapanalysis_PostResult.jsp",                 type:"post",                 data:"dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType				           +"&coordString="+coordStr+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName						   +"&fldNames="+fldNames+"&whereSql="+whereSql,                 async : true, //默认为true 异步    		   dataType:"html",		           error:function(){                     alert("叠加分析失败");                 },                 success:function(data){                 setAttributeValuestt(layerType,coordStr,data);             }       });  

 当使用的参数较多且有的参数过长时建议使用jquery的,使用原生态的可以会截掉部分传递的参数(如coordStr是很多坐标串可能就会失败)。

ajax 原生态和jquery封装区别