View Single Post
Old 03-12-2007, 07:22 PM   PM User | #6
Basscyst
Smokes a Lot


 
Join Date: Jul 2003
Location: CA, USA
Posts: 1,594
Thanks: 5
Thanked 20 Times in 20 Posts
Basscyst is on a distinguished road
Quote:
Originally Posted by jkd View Post
Code:
 var x=4;
 getReqObjPost("someurl.asp","param1=1&param2=2",function() { callBack(xml,x) });
Works fine. The anonymous function creates a closure over all the variables available in the current scope (e.g. x), which then is referenced as an argument to callBack.
Okay, I'm trying, but I guess I don't see how to execute the function when it is passed in that fashion. And in your example, if based on my code, the variable xml does not yet exist at the time you are initially passing it.

???
Code:
function getReqObjPost(url,params,func)
{
	if (window.XMLHttpRequest)
  	{
 		xmlhttp=new XMLHttpRequest();
 	}
 	else if (window.ActiveXObject)
    {
    	if(new ActiveXObject("Microsoft.XMLHTTP"))
    	{
    		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	else
    	{
    		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}
    }
  	xmlhttp.onreadystatechange=function()
  	{
  		if(xmlhttp.readyState==4)
		{	
			if(xmlhttp.status==200)
			{
				var str=xmlhttp.responseText;
				var xml=xmlhttp.responseXML;
				callback=func; Doesn't work
				func This either
			}
			else
			{
				noData(xmlhttp.status,url);	
			}
		}
  	}
	var now=new Date();
	params=params + "&c_date"+now.getSeconds()+"=" + now;
	xmlhttp.open("POST",url,true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlhttp.send(params);
}
I'm calling it like this:

Code:
<script type="text/javascript">
		window.onload=function(){
			var x=4
			getReqObjPost("test.asp","",function(){doIt(xml,x)});
		}
		function doIt(xml,m){
			alert(m);
			var content=toXHTML(xml.documentElement);
			document.getElementById('container').appendChild(content);
		}
		</script>
__________________
Helping to build a bigger box. - Adam Matthews

Last edited by Basscyst; 03-12-2007 at 07:26 PM..
Basscyst is offline   Reply With Quote