Why can I not return responseText from an Ajax function? [duplicate] Why can I not return responseText from an Ajax function? [duplicate] ajax ajax

Why can I not return responseText from an Ajax function? [duplicate]


You will not be able to handle the return value that you are returning from your asynchronous callback. You should handle the responseText within the callback directly, or call a helper function to handle the response:

http.onreadystatechange = function () {    if (http.readyState == 4 && http.status == 200) {        handleResponse(http.responseText);    }}function handleResponse (response) {    alert(response);}


What about :

function handleResponse (response) {    return response;}

which return undefined for synchrounous and asynchronous modes


function getdata(url,callback){    var xmlhttp;    if (window.XMLHttpRequest)      {// code for IE7+, Firefox, Chrome, Opera, Safari      xmlhttp=new XMLHttpRequest();      }    else      {// code for IE6, IE5      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");      }    xmlhttp.onreadystatechange=function()      {      if (xmlhttp.readyState==4 && xmlhttp.status==200)        {         var result = xmlhttp.responseText;         callback(result)        }      }    xmlhttp.open("POST",url,true);    xmlhttp.send();}

send a call back function name as second arguement to this function.You can get the response text for that function. simple. But you can't directly return anything from an asynchronous call.