【问题标题】:Ajax .responseText is available in alert but does not get saved in variable or return [duplicate]Ajax .responseText 在警报中可用,但不会保存在变量中或返回 [重复]
【发布时间】:2014-05-22 10:13:46
【问题描述】:
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。但值是undefined

【问题讨论】:

    标签: javascript ajax xmlhttprequest


    【解决方案1】:

    Ajax 函数总是与正常的代码流不同步,因此得名“异步 JavaScript 和 XML”。对于需要 Ajax 的事件,您不应该依赖返回,而是在收到来自 AJAX 的响应后立即执行任务。

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 2020-02-27
      相关资源
      最近更新 更多