2
我目前正在循環使用一些驗證特定輸入值的函數。其中一個特別需要ajax調用來驗證地址。我看到SO上的用戶建議使用回調來返回值。使用ajax調用循環功能
唯一的問題是,當它檢索值時,該函數已經在循環內觸發並返回一個未定義的值。我一直在四處尋找,並不確定最好的解決方案是什麼。我是否以某種方式延遲循環?首先,我的功能設置是否正確?需要一些嚴重的幫助。
var validations = [validateUsername, validatePassword, validateAddress];
function submitForm() {
var inputs = validations.map(function(validation) {
return validation();
});
return inputs.every(function(input) {
return input === true;
}); // [true, true, undefined]
}
function validateAddress() {
function addressIsValid(callback) {
$.ajax({
type: 'POST',
url: '/address/validate',
data: $form.serialize(),
dataType: 'json',
success: function(response) {
return callback(response.Data === 200);
}
});
}
function callback(response) {
return response;
}
return addressIsValid(callback);
}
看看這裏http://stackoverflow.com/questions/14220321/how-do-ir E打開最響應從 - 一個異步呼叫 – elclanrs