Jump to content

[SOLVED] Function not returning value


Dan06

Recommended Posts

The following code is supposed to return a variable containing text, currently the code posts the data but returns an "undefined" variable. Can someone tell me what's wrong? Thanks.

 

function ajaxPost(params, url){

var XMLHttpRequestObj = false;

if (window.XMLHttpRequest){
	XMLHttpRequestObj = new XMLHttpRequest();
} else if (window.ActiveXObject){
	XMLHttpRequestObj = new ActiveXObject("Microsoft.XMLHttp");
}

if (XMLHttpRequestObj){
	XMLHttpRequestObj.open("POST", url, true);
	XMLHttpRequestObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	XMLHttpRequestObj.setRequestHeader("Content-length", params.length);
	XMLHttpRequestObj.setRequestHeader("Connection", "close");

	XMLHttpRequestObj.onreadystatechange = function(){
		if (XMLHttpRequestObj.readyState == 4 && XMLHttpRequestObj.status == 200){
			var requestResponse = XMLHttpRequestObj.responseText;
			delete XMLHttpRequestObj;
			return (requestResponse);				
		}
	}
	XMLHttpRequestObj.send(params);
}
}

Link to comment
https://forums.phpfreaks.com/topic/151307-solved-function-not-returning-value/
Share on other sites

I had the exact same issue, and after a bit of research, I discovered it was a synchronous / asynchronous  problem.  Try modifying your code as

 

function ajaxPost(params, url){
   
   var XMLHttpRequestObj = false;
      
   if (window.XMLHttpRequest){
      XMLHttpRequestObj = new XMLHttpRequest();
   } else if (window.ActiveXObject){
      XMLHttpRequestObj = new ActiveXObject("Microsoft.XMLHttp");
   }
      
   if (XMLHttpRequestObj){
      XMLHttpRequestObj.open("POST", url, false);
      XMLHttpRequestObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      XMLHttpRequestObj.setRequestHeader("Content-length", params.length);
      XMLHttpRequestObj.setRequestHeader("Connection", "close");
      XMLHttpRequestObj.send(params);
     
      var requestResponse = XMLHttpRequestObj.responseText;
      delete XMLHttpRequestObj;
      return (requestResponse);      
   }
}

 

HTH

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.