Ajax 給 XMLHttpReq.onreadystatechange =函數 傳遞參數

ajax傳遞參數給onreadystatechange的回調函數

原文引自:http://blog.csdn.net/wzb56/article/details/6311808

僅用於學習參考,留檔被查。


Ajax 給 XMLHttpReq.onreadystatechange傳遞參數

通過: xmlhttp.onreadystatechange= function(){xx(123)};

or xmlhttp.onreadystatechange= new Function("xx(123)"); 就可以了。

 

Ajax 給 XMLHttpReq.onreadystatechange傳遞參數 
通過:
xmlhttp.onreadystatechange= function(){xx(123)};
or
xmlhttp.onreadystatechange= new Function("xx(123)");
就可以了。

m=document.getElementsByName("text8");
v=m[i];
XMLHttpReq.onreadystatechange=function(){proce(v)};
----------------------------------------------
function proce(v)
{
    if(XMLHttpReq.readyState==4)
    { 
     if(XMLHttpReq.status==200)
     {
     var res=XMLHttpReq.responseXML.getElementsByTagName("content")[0].firstChild.data;
     v.value=res;
     }
     else
     {
      v.value='....';
     }
    }
} 


一個小測試的例子:

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>test Ajax</title>
  <mce:script language="javascript"><!--
	function  getXMLHttpRequest()	{ 
				var xmlHttpRequest;				
				try
				{
						xmlHttpRequest=new XMLHttpRequest();			
				}
				catch (e)
				{
					  try
					  {
							xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
					  }
					  catch (e)
					  {
								try
								{
									xmlHttpRequest=new ActiveXObjec("Msxml2.XMLHTTP");
								}
								catch (e)
								{
										throw new Error('Unable to create XMLHttpRequest.')
								}
					   }
			}
			return  xmlHttpRequest;
	}

/*
function test() {
	var xhr = getXMLHttpRequest();
	var url="http://211.87.235.108:5000/sensor.xml";
	  	xhr.open("GET",url);
	  	xhr.send(null);
	
		xhr.onreadystatechange = function(){		   	
		  if(4==xhr.readyState)
		   {
		   		if(200==xhr.status)		 {
					//var xmldoc=xmlHttpRequest.responseXML;	
					var xmldoc=xhr.responseText;		
				   document.getElementById("disp").innerHTML=xmldoc;  
				 }
				 else		 {
				    //alert(xhr.status);
				 }
		   }
		}; 
	
	
	xhr.onstatechange = function() {  																		 
										handleXMLHttpRequest(xhr) ; 
									};
	
}

*/


		function  handleXMLHttpRequest( xmlHttpRequest)	  {				
				   if(4==xmlHttpRequest.readyState)
				   {
						if(200==xmlHttpRequest.status)		 {
							//var xmldoc=xmlHttpRequest.responseXML;	
							var xmldoc=xmlHttpRequest.responseText;		
						   document.getElementById("disp").innerHTML=xmldoc;  
						 }
						 else		 {
						   alert(xmlHttpRequest.status);
						 }
				   }
		}

		function  doXMLHttpRequest() {
				var xhr = getXMLHttpRequest();			
				var url="http://localhost:5000/sensor.xml";
				xhr.open("GET",url);
				xhr.send(null);  			
				xhr.onreadystatechange =function (){
																handleXMLHttpRequest(xhr);			
														 };
		}	



	 

 

		function myrefresh() {
					window.location.reload();
		}		
		setTimeout('myrefresh()',1000); //指定1秒刷新一次
// --></mce:script>


 
 



 </head>
 <mce:style><!--
 body {font-size:12px;}
--></mce:style><style mce_bogus="1"> body {font-size:12px;}</style>
 <body  onLoad="doXMLHttpRequest()">  
  <div id="disp">
  </div>
 </body>
</html>


用例2:

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title> My Documents </title>
  <mce:script language="javascript"><!--
	function  getXMLHttpRequest()	{ 
				var xmlHttpRequest;				
				try
				{
						xmlHttpRequest=new XMLHttpRequest();			
				}
				catch (e)
				{
					  try
					  {
							xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
					  }
					  catch (e)
					  {
								try
								{
									xmlHttpRequest=new ActiveXObjec("Msxml2.XMLHTTP");
								}
								catch (e)
								{
										throw new Error('Unable to create XMLHttpRequest.')
								}
					   }
			}
			return  xmlHttpRequest;
	}

function test() {
	var xhr = getXMLHttpRequest();
	var url="http://211.87.235.108:5000/sensor.xml";
	  	xhr.open("GET",url);
	  	xhr.send(null);
	
	xhr.onreadystatechange = function(){		   	
		  if(4==xhr.readyState)
		   {
		   		if(200==xhr.status)		 {
					//var xmldoc=xmlHttpRequest.responseXML;	
					var xmldoc=xhr.responseText;		
				   document.getElementById("disp").innerHTML=xmldoc;  
				 }
				 else		 {
				    //alert(xhr.status);
				 }
		   }
		}; 
	
}

/*
function  handleXMLHttpRequest( xmlHttpRequest)	  {	
			alert(xmlhttpRequest + 2);
		   if(4==xmlHttpRequest.readyState)
		   {
		   		if(200==xmlHttpRequest.status)		 {
					//var xmldoc=xmlHttpRequest.responseXML;	
					var xmldoc=xmlHttpRequest.responseText;		
				   document.getElementById("disp").innerHTML=xmldoc;  
				 }
				 else		 {
				   alert(xmlHttpRequest.status);
				 }
		   }
}


function  doXMLHttpRequest() {
		var xhr = getXMLHttpRequest();
			
		var url="http://211.87.235.108:5000/sensor.xml";
	  	xhr.open("GET",url);
	  	xhr.send(null);  
		xhr.onreadystatechange = handleXMLHttpRequest();	
		
}	
*/


	 

 

function myrefresh() {
			window.location.reload();
		}		
	//	setTimeout('myrefresh()',1000); //指定1秒刷新一次
// --></mce:script>


 
 



 </HEAD>
 <mce:style><!--
 body {font-size:12px;}
--></mce:style><style mce_bogus="1"> body {font-size:12px;}</style>
 <body  onLoad="test()">  
  <div id="disp">
  </div>
 </body>
</html>





 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章