function checkLogin(){
var testLog = $login.attr('value');
var ret=1;
$.post(
'post/regUser.php',
{
login:testLog
},
function(data){
if(data.user==1) ret= testLog;
if(data.user==0) ret= testLog;
if(data.user==-1) ret= testLog;
$this_b.empty().append(ret);
alert(ret); // выводится вторым и со значением ret
}, 'JSON'
)
alert( ret ) // выводится первым с undefaned
return ret
}
как передать ret в return основной функции?
Спустя 9 минут, 6 секунд (16.12.2011 - 21:53) Игорь_Vasinsky написал(а):
чё блин с форумом. весь коммент в постах коверчит.
Спустя 1 минута, 46 секунд (16.12.2011 - 21:55) Игорь_Vasinsky написал(а):
наверно речь о рекурсии. если нужно передать аргумент в функцию, а аргумент является результатом этой функции.. что то в этом роде.. а зачем?
Спустя 45 минут, 6 секунд (16.12.2011 - 22:40) kuzroman написал(а):
Цитата (Игорь_Vasinsky @ 16.12.2011 - 18:55) |
наверно речь о рекурсии. если нужно передать аргумент в функцию, а аргумент является результатом этой функции.. что то в этом роде.. а зачем? |
я там отредактировал сообщение вначале, убрал функцию, она видимо от экспериментов осталась.
Тут что получается функцию checkLogin() хочу использовать в нескольких местах,
соот-но нужно чтобы она через return
а return этой функции приходит быстрей чем значение ret из post.
Спустя 4 минуты, 9 секунд (16.12.2011 - 22:44) Игорь_Vasinsky написал(а):
как это?
явно же видна последовательность
$.post
ret
ты просто из первой ф-и не вернул.
явно же видна последовательность
$.post
ret
ты просто из первой ф-и не вернул.
function checkLogin(){
var testLog = $login.attr('value');
var ret=1;
$.post(
'post/regUser.php',
{
login:testLog
},
function(data){
if(data.user==1) ret= testLog;
if(data.user==0) ret= testLog;
if(data.user==-1) ret= testLog;
$this_b.empty().append(ret);
alert(ret); // выводится вторым и со значением ret
return ret;
}, 'JSON'
)
alert( ret ) // выводится первым с undefaned
return ret
}
Спустя 8 минут, 14 секунд (16.12.2011 - 22:52) kuzroman написал(а):
тут ret явно объявлена перед второй функцией соответственно return ret;(т.е. она глобальна для post) и не пишу.
Ну и пробовал конечно и так делать, все равно в конце
alert( ret ) // выводит 1
Ну и пробовал конечно и так делать, все равно в конце
alert( ret ) // выводит 1
Спустя 2 минуты, 45 секунд (16.12.2011 - 22:55) Игорь_Vasinsky написал(а):
тогда делай не if if if - а if elseif else
Спустя 3 минуты, 23 секунды (16.12.2011 - 22:58) kuzroman написал(а):
в общем оставил для наглядности только это
??????????? КАК ????
function checkLogin(){
$.post(
'post/regUser.php',
{},
function(data){
alert(1); // выводит вторым
}, 'JSON'
)
alert(0); // выводит первым
}
??????????? КАК ????
Спустя 12 минут, 25 секунд (16.12.2011 - 23:11) Игорь_Vasinsky написал(а):
здесь этой переменной ещё не существует, она не объявлена не в локальной зоне видимости, ни в глобальной. её просто нету.
Спустя 7 минут, 18 секунд (16.12.2011 - 23:18) kuzroman написал(а):
Цитата (Игорь_Vasinsky @ 16.12.2011 - 20:11) |
здесь этой переменной ещё не существует, она не объявлена не в локальной зоне видимости, ни в глобальной. её просто нету. |
вы о какой переменной говорите?
В последнем примере их нет.
Тут меня беспокоит очередность срабатывания alert
как в таком случае работать?
Может это мой локальный глюк, пойти поспать а завтра все само заработает)))?
Спустя 1 час, 4 минуты, 15 секунд (17.12.2011 - 00:22) redreem написал(а):
для post ret не глобальна. ты описываешь пост в теле checkLogin, но сама функция обработки результата - аноним, созданный в глобальном поле видимости. а просто прогнать ret до сервака в параметрах post и получить ее обратно не судьба?
_____________
kuzroman@list.ru