我需要从嵌套的 ajax 调用返回数据,但也需要 ajax 调用保持异步。
我发现了一些相关的问题,但无法让它在下面的情况下工作。我假设returnData
在 ajax 调用完成之前返回,但我找不到解决方案。
function makeRequest(command, postData){
var returnData;
$.ajax({
url: 'call.php?command='+command,
data: postData,
type: 'POST'
}).done(function(data){
returnData = data;
});
return returnData;
}
是的,因为此调用是异步 returnData 立即返回。如果您需要使用 returndata 将其传递给回调中的函数
function makeRequest(command, postData, functionToCallAfterAjax){
var returnData;
$.ajax({
url: 'call.php?command='+command,
data: postData,
type: 'POST'
}).done(function(data){
functionToCallAfterAjax(data);
});
}
当然,您可以将要调用的函数作为参数传递。
这意味着如果您的代码旨在执行以下操作:
var returnedData = makeRequest(command, postData);
anotherFunction(returnedData);
你应该简单地做(使用上面的代码)
makeRequest(command, postData, anotherFunction);
一切都会好起来的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)