Я использовал проверку jquery для проверки электронной почты. Но переменная, значение которой изменено в функции успеха, недоступно вне ее. Это можно сделать с помощью async = false, но это уничтожает цель Ajax.Использовать переменную javascript вне функции успеха
Ниже приведен код:
$.validator.addMethod('verifyemail',function(value,element){
$.ajax({
type: "POST",
url : $.app.urls('base_url')+'account/check_email',
data: {'email' : value},
success: function(msg){
//If email exists, set response to true
if(msg.status == 'false')
respond = false;
else
respond = true;
}
})
console.log(respond);
return respond;
}, "Email is Already Taken");
__Problem: __ Попытка использовать неопределенную переменную. __Экспланирование: __ Запрос AJAX займет некоторое время, вы не можете прочитать результаты сразу после вызова $ .ajax. __Solution: __ Событие, управляемое потоком программы, отдельные методы проверки достоверности и запросы AJAX. Проверьте, что действительный и по умолчанию недействителен. –