再次遇到问题是javascript的新手。我希望使用JQuery的get来获取我的PHP脚本的回复。这是我的功能
function getNext(){
var returnData = null;
$.get("get.php", {task:'next'}, function(responseText){
returnData = responseText; }, "text");
return returnData;
}
现在很明显,即使请求成功,该函数也会返回null。为什么? 感谢您的帮助。
答案 0 :(得分:5)
因为ajax是异步的,所以它独立地独立运作,所以当return
语句完成时,它还没有被分配。
答案 1 :(得分:5)
function getNext(){
var returnData;
$.ajax({
url: "get.php",
data: {task:'next'},
success: function(responseText) { returnData = responseText },
async: false;
});
return returnData;
}
请注意,这可能会“冻结”UI,因为Javascript是单线程的 - 它会等到收到服务器的响应。
您可能想要重构它,以便在success
回调中调用该操作。你能告诉我们是什么触发了getNext
方法的调用吗?
答案 2 :(得分:0)
试试这个
function getNext(){
var returnData = null;
$.get("get.php", {task:'next'},
function(responseText){
returnData = responseText;
alert('Data ' + responseText);
});
}
您必须轮询returnData
是否包含您想要的实际数据(或将您的代码放入回调方法)