JQuery .get函数变量

Har*_*y M 1 javascript jquery

再一次有问题是一个新的JavaScript.我希望使用JQuery的get来获取我的PHP脚本的回复.这是我的功能

function getNext(){
    var returnData = null;
    $.get("get.php", {task:'next'}, function(responseText){
        returnData = responseText; }, "text");  
    return returnData;      
}
Run Code Online (Sandbox Code Playgroud)

现在很明显,即使请求成功,该函数也会返回null.为什么?感谢您的帮助.

med*_*iev 5

因为ajax是异步的,所以它独立地独立运作,因此在return语句完成时,它还没有被分配.


Cri*_*hez 5

function getNext(){
   var returnData;  
   $.ajax({
      url: "get.php",
      data: {task:'next'},
      success: function(responseText) { returnData = responseText },
      async: false;
   });
   return returnData;      
}
Run Code Online (Sandbox Code Playgroud)

请注意,这可能会"冻结"UI,因为Javascript是单线程的 - 它会等到它收到服务器的响应.

您可能希望重构它,以便在success回调中调用该操作.你能告诉我们是什么触发了getNext方法的调用吗?