Dan06 Posted March 26, 2009 Share Posted March 26, 2009 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); } } Quote Link to comment Share on other sites More sharing options...
shutat Posted March 27, 2009 Share Posted March 27, 2009 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 Quote Link to comment Share on other sites More sharing options...
Dan06 Posted April 2, 2009 Author Share Posted April 2, 2009 Thanks for the help. I followed your suggestions and got the code to work. Best, Dan Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.