Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript responseText在alert中可用,但不会保存在variable或return中_Javascript_Ajax_Xmlhttprequest - Fatal编程技术网

Javascript responseText在alert中可用,但不会保存在variable或return中

Javascript responseText在alert中可用,但不会保存在variable或return中,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,为什么响应没有存储在变量中或返回?我猜response\u var的范围在onreadystatechange函数中结束,所以我尝试了return。但是值是未定义的Ajax函数总是与正常的代码流不同步,因此被称为“异步JavaScript和XML”。对于Ajax必需的事件,您不应该依赖于返回,而是在从Ajax得到响应时立即执行任务 var response_var=""; // Added this line for debugging ajax.onreadystatechange=func

为什么响应没有存储在变量中或返回?我猜
response\u var
的范围在
onreadystatechange
函数中结束,所以我尝试了
return
。但是值是未定义的

Ajax函数总是与正常的代码流不同步,因此被称为“异步JavaScript和XML”。对于Ajax必需的事件,您不应该依赖于返回,而是在从Ajax得到响应时立即执行任务

var response_var=""; // Added this line for debugging

ajax.onreadystatechange=function()
{
   if(ajax.readyState==4 & ajax.status==200)
   {
     response_var=(ajax.responseText);
     alert(ajax.responseText); // This alerts properly (some text).
     return (ajax.responseText); // This is returning as undefined
   }
}

return response_var; // This is empty if I add the line 1, if not in console it gives error response_var is not defined.