Собственно авторизация на JS , есть общая функция запроса и проверка авторизации
function getAjax(url,data,callback) {
var patch = 'http://server.ser/mobile_app/';
$.ajax({
url:patch + url,
type:'POST',
dataType:'json',
data:data,
success:callback,
error: function(jqXHR, textStatus, errorThrown) {
console.log('Ошибка: ' + textStatus + ' | ' + errorThrown);
}
});
}
function try_login (login,pass) {
var ret = false;
getAjax('try_login.php',{login:login,pass:pass},function(data){
if (typeof data.success != 'undefined' && data.success == 'ok') {
ret = true;
console.log('try login true');
ret = true;
}
});
return ret;
}
Естественно try_login возвращает false, т.к. асинхронность, но async:false мне не подходит, т.к. функция будет выполняться постоянно. В теории понимаю как делать в моем случае правильно, это что-то вроде :
//хотел так
if (try_login('login','pass')) {
alert('Ура');
}
// а придется как-то так
getAjax('try_login.php',{login:'login',pass:'pass'},function(data){
if (typeof data.success != 'undefined' && data.success == 'ok') {
alert('Не очень ура');
}
});
Первый вариант просто более минималистичен и глазу красив, может быть кто-то знает способ не уходить от него???