Задать вопрос
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/

Как вывести переменную за пределы функции AJAX?

Здравствуйте!
Есть код:
var special_geted_count = 0;
$.ajax({
	url: 'php/get_special_count.php',
	type: 'POST',
	dataType: 'text',
	data: {num_of_number: id},
})
.done(function(data) {
	special_geted_count = parseInt(data); //data - это другое число. Скрипт возвращает правильно, проверял.
});
alert(special_geted_count);


И этот самый alert выводит "0", который был установлен в самом начале, а должен выводить новое число, которое он получил в AJAX.
Как быть?
Заранее спасибо!
  • Вопрос задан
  • 547 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@OVK2015
alert выполняется раньше, чем придет ответ от php/get_special_count.php. Особенность асинхронности ajax запросов. Дождитесь ответа потом выводите результат.
.done(function(data) {
  special_geted_count = parseInt(data);
  alert(special_geted_count);
});
Ответ написан
Комментировать
@burtulug
Достаточно в ajax запрос добавить параметр async: false, тогда алерт выполнится после того, как отработает запрос.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы