我有這種情況,我必須通過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