Javascript 获取函数变量
作为javascript新手,再次遇到问题。我想使用JQuery的get从我的PHP脚本中获得回复。这是我的函数Javascript 获取函数变量,javascript,jquery,Javascript,Jquery,作为javascript新手,再次遇到问题。我想使用JQuery的get从我的PHP脚本中获得回复。这是我的函数 function getNext(){ var returnData = null; $.get("get.php", {task:'next'}, function(responseText){ returnData = responseText; }, "text"); return returnData; } 现在很明显
function getNext(){
var returnData = null;
$.get("get.php", {task:'next'}, function(responseText){
returnData = responseText; }, "text");
return returnData;
}
现在很明显,即使请求成功,函数也返回null。为什么?
提前感谢您的帮助。因为ajax是异步的,它独立运行,所以在返回语句完成时,它还没有被分配。因为ajax是异步的,它独立运行,所以在返回语句完成时,它还没有被分配
function getNext(){
var returnData;
$.ajax({
url: "get.php",
data: {task:'next'},
success: function(responseText) { returnData = responseText },
async: false;
});
return returnData;
}
请注意,这可能会冻结UI,因为Javascript是单线程的——它将等待从服务器收到响应
您可能需要重构它,以便在成功回调中调用该操作。您能告诉我们是什么触发了getNext方法的调用吗
请注意,这可能会冻结UI,因为Javascript是单线程的——它将等待从服务器收到响应
您可能需要重构它,以便在成功回调中调用该操作。您能告诉我们是什么触发了getNext方法的调用吗 试试这个
function getNext(){
var returnData = null;
$.get("get.php", {task:'next'},
function(responseText){
returnData = responseText;
alert('Data ' + responseText);
});
}
您必须定期轮询returnData是否包含所需的实际数据,或者将代码放入回调方法中
function getNext(){
var returnData = null;
$.get("get.php", {task:'next'},
function(responseText){
returnData = responseText;
alert('Data ' + responseText);
});
}
您必须轮询returnData是否包含您定期需要的实际数据,或者将代码放入回调方法中Awesome,非常感谢。我现在明白了。代码是由DocumentReady调用的,但我编写的任何代码都不只是为了发现AJAX。太棒了,非常感谢。我现在明白了。代码是由documentready调用的,但我不会编写任何只用于发现AJAX的代码。