Просмотр полной версии : return в ajax
Добрый день! Понимаю, что тема изъезжена вдоль и поперек, но не могу победить return в $.ajax
Делаю так (пытаюсь через область видимости):
window.onload = function() {
   var callback = 0;
   
   var data2 = "data=bugoga";
   $.ajax({ 
    	type: "POST",
	    url: "./test.php",
	    data: data2
    }).done(function(data){
		callback = 1;
    });
   alert(callback);
}
алертом выводится 0, а нужно, чтобы 1)) 
Подскажите, пожалуйста!
"Ок, Гугл, что такое асинхронность в JavaScript?"
Разобрался с асинхронностью, узнал про WebApis, Stack. Верно ли я понимаю, что операции выполняются следующим образом:
1) var callback = 0; 
2) $.ajax({}) улетел в WebApis, потом в очередь задач (task's queue), потом event loop запулил его в stack
3)alert(callback); //вывелся коллбэк, который собственной и не изменялся, как был 0 так 0 и остался.
4) После Того как Event Loop выпнул из очереди задач фидбэк ajax запроса, он выполнится:
.done(function(data){
        callback = 1;
    });
Только после этого callback станет равным 1, я верно понимаю алгоритм работы?
Kaha,
 :-? 
а нельзя  как-то  так?
 
.done(function(data){ 
       fn(1); 
   });
улетел в WebApis
А проще и без полтергейста представить нельзя? Считайте, что и $.ajax, и alert запущены одновременно, и никого из них не обязывают ожидать другого. При этом кто из них завершит работу быстрее? Returt что-то решить в этом случае?
Либо выполняйте нужное по ответу $.ajax в его методе, либо promise (что по сути тоже, что и первое), либо в особо тяжких случае, если в этом соль, следите за изменениями DOM.
Либо выполняйте нужное по ответу $.ajax в его методе...
Так я бы с радостью... но не работает же...
Так я бы с радостью... но не работает же...
А что именно?
я хочу, чтобы callback поменялся с 0 на 1 в функции
.done(function(data){
       callback=1;
   });
Эксперты, подскажите, где я не прав, где не догоняю? Мне нужно получить результат в теле фидбэка
А это почему не устраивает https://javascript.ru/forum/483814-post6.html?
Почитайте об этом в среде JQ
http://jquery.page2page.ru/index.php5/Объект_callbacks
http://jquery.page2page.ru/index.php5/Объект_deferred
Коллеги, мое искреннее спасибо за терпение и ссылки! Понимание как оно там все фурыкает пришло!)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot