在javascript中修改匿名函数中的变量

Modify variables from an anonymous function in javascript

本文关键字:函数 变量 javascript 修改      更新时间:2023-09-26

我试图简单地从jQuery$.get()调用中获取响应,并将其存储到一个变量中。事实证明,这比我想象的要困难得多。这是我的代码:

var response;
    $.get(("action.php?action=addFolder&folderName=" + input),  
        function(data, status){
             response = data
        }
    );
return response;

但响应总是未定义或为null。我该怎么解决这个问题?

这是因为ajax是异步的。这意味着ajaxcall仍在做它的事情,并且您已经准备好返回"response"。

如果你需要对某件事做出"回应"(我有点怀疑),请在ajaxcall的oncomplete中使用它。在get中使用的函数是在完成时获取触发器的函数。

对于那些不知道我的意思的人来说,进一步澄清异步*:

您创建变量"response"。之后ajax就开始了。在那之后,你会把它退回。这个列表中重要的是它在ajax启动后返回。如果ajax需要5秒,变量将在5秒后具有其值。

*这很简单