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

yat*_*ern -2 javascript variables ajax jquery anonymous-function

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

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

但响应总是未定义或为空.我怎样才能解决这个问题?

Mar*_*ijn 5

这是因为ajax是异步的.这意味着ajaxcall仍在做它的事情,你已经回来了'响应'.

如果你需要对某些事情做出"回应"(我有点认为),那么在ajaxcall的oncomplete中做一些事情.你在get中使用的函数是触发oncomplete的函数.

为那些不知道我的意思*的人澄清异步

您创建变量'response'.之后,ajax开始了.之后你就归还了.该列表中最重要的是它在ajax STARTS之后返回.如果ajax需要5秒钟,变量将在5秒后得到它的值.

*这很简单