我有这种情况,我必须通过AJAX检查某些内容,然后返回结果。 或简化:AJAX调用后从嵌套函数返回
function isValid() {
$.ajax(URL, data, function(response) {
isValid = response;
});
return isValid;
}
但仍然无法使它。
我可以访问响应,但我不能让isValid返回后我得到响应。 例如解决我遇到无处不在:
function isValid() {
function checkOnServer(callback) {
$.ajax(URL, data, function(response) {
callback(response);
});
}
checkOnServer(function(response) {
alert(response);
});
}
我遇到了这个遍布#1,但问题是:
- 我不想提醒这一点。
- 我想从isValid()返回它。
===========================
编辑:我忘了提,如果你/我/我们尝试简单地从“checkOnServer”中“返回” - 它只会将其返回到AJAX的成功回调。但这里的目标是让“isValid”返回结果...... :)
不能从异步方法返回。您正在尝试将送货披萨送到您的房子之前。您需要使用回调或承诺。你需要改变你的逻辑。 – epascarello
可能重复[如何返回来自异步调用的响应?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – Hatchet