js中的总结

1. 获取浏览器的XMLHttpRequest对象,获取的方式有如下几种
1.1 
	  function getXMLHttpRequest()
	  {
		  var xmlhttpReq = null;
		  if(window.ActiveXObject)	//IE浏览器
		  {
			 xmlhttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");  
		  }else if(window.XMLHttpRequest)   //其他浏览器
		  {
			  xmlhttpReq = new XMLHttpRequest();
		  }
		  return xmlhttpReq;
	  }
1.2
function getXMLHttpRequest() {
	var xmlHttpReq=null;
	if (window.XMLHttpRequest) {//Mozilla 浏览器
		xmlHttpReq = new XMLHttpRequest();
	}else {
		if (window.ActiveXObject) {//IE 浏览器
			try {
				xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				try {//IE 浏览器
					xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (e) {
				}
			}
		}
	}
	return xmlHttpReq;
}
1.3
function ajaxFunction(){
   var xmlHttp;
   try{ // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e){
	   try{// Internet Explorer
	         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	      }
	    catch (e){
	      try{
	         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	      }
	      catch (e){}
	      }
    }

	return xmlHttp;
 }
 2. 使用Ajax技术向服务器发出请求
 	   function requestMeg(url,select)
	   {
		   //1. 获取XMLHttpReques对象
		   var xmlReq = getXMLHttpRequest();
		   //2. 注册监听器
		    xmlReq.onreadystatechange = function()
		   {
				//状态码
				/*
				 0 -未初始化还没有使用send方法向服务器发送数据
				 1- 载入,已经向服务器发出了请求但还没有相应
				 2- send方法执行完成。已经接收到全部相应内容
				 3- 正在解析相应内容
				 4- 相应解析完成,数据可以使用
				*/
			   if(xmlReq.readyState == 4)
				{
				//如果服务器返回的是xml文档的话就使用responseXML来获取服务器端的数据
				   var msg = xmlReq.responseXML;
				 //如果是html文件的数据则中responseText来获取数据
				 var msg = xmlReq.responseText;
				//如果接受到的是json格式的数据需要使用eval函数来转换
				var msg = xmlReq.responseText;
				var json = eval("(" +msg+ ")");
				//注意向服务器发送中文数据时需要进行url编码,例如:encodeURI("中文");
				}
		   };
		   //3. 准备发送数据
		   xmlReq.open("GET",url,true);
		   //4. 发送数据,注意如果是GET请求的话只能在请求的url地址后面跟数据
		   //如果是POST请求的话就可以在send函数中储存要发送的数据了
		   xmlReq.send(null);
	   }

发布了34 篇原创文章 · 获赞 9 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章