Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как вернуть значение получаемое через Jquery-ajax


Автор: Rusman 7.10.2014, 15:43
Здравствуйте!
К примеру есть такой код:

Код

<script>
var city = 'Moscow';
$.ajax({
            url: '/include/ajax/getcity/getsave.php',
            dataType: 'json',
            success: function(obj,status) {
                if (obj.status == 'Y')
                 {
                 /*Допустим здесь приходит Kazan*/
                  city = obj.city;
                 }
            }
        });
/*В итоге в переменной city всеравно значение Moscow*/
alert(city);
</script>


Как правильно заменить значание переменной на пришедшее значение?

Всем большое спасибо!

Автор: ksnk 7.10.2014, 16:18
ajax - "асинхронный JavaScript и XML" ключевое слово - асинхронный.
Тоесть "тело" ajax запроса (success) будет выполняться потом, когда придет ответ от сервера.
Первым будет alert со старым знчением city.

Что делать? Разместить работу с новым значением city в тело функции success.



Автор: sQu1rr 7.10.2014, 20:39
тоесть если вы разместите alert(city); между 10 и 11 строчками, то увидите этот самый алерт. так что делайте функцию для работы с переменной city и вызывайте ее из анонимной функции success

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)