好吧,爲了爭辯,我們假設AJAX調用必須是異步。如何從jQuery.ajax()中的成功和錯誤處理程序向父方法返回值?
基本上,我有一個jQuery AJAX調用,我想要的成功和錯誤處理的值返回給父方法:
下面的代碼不起作用,因爲AJAX調用是異步的。
var isValid = false;
$.ajax({
type: "POST",
url: myurl,
dataType: "JSON",
data: $myData,
async: true,
success: function(data) {
isValid = true;
},
error: function() {
isValid = false;
}
});
return isValid;
那麼,有沒有一些方法來返回給調用方法傳遞一個值異步AJAX調用:因此,在接收前repsonse返回在函數底部的返回值?
沒有設置'異步:FALSE'在方法執行結束之前,將無法捕獲成功/失敗。異步的要點是腳本不必等待ajax請求完成。如果您需要等待,請將async設置爲false。否則,您將需要重構您的方法以使用回調。 – Rodaine
想知道爲什麼我的問題已下載....我的問題出了什麼問題?我希望它不是個人或東西.... –
我需要'async:true',因爲我正在使用一個「加載」圖像/對話框,而請求正在運行,而這不適用於'async:false'。但是,呼叫頁面也需要知道呼叫是否成功。 –