Ajax .responseText在警报中可用,但不会保存在变量或返回中

时间:2014-05-22 10:13:46

标签: javascript ajax xmlhttprequest

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.

为什么响应没有存储在变量中或返回?我想response_var的范围在onreadystatechange函数内结束,所以我尝试return。但价值未定义

1 个答案:

答案 0 :(得分:0)

Ajax函数总是与正常的代码流不同步,因此名称"异步JavaScript和XML" 。对于Ajax所需的事件,你不应该依赖返回,而是在你从AJAX得到你的响应时立即完成你的任务。