Сообщение от SDHP
|
Совсем недавно начал изучать аякс и вот напоролся на такую шнягу :\
С помощью $.ajax я отправил запрос.
Получил данные data
Как вытащить их за пределы запроса?
function(data)
{
var text = data;
}
alert(text);
alert() выдаёт, что переменная не определена [undefined]
|
var внутри функции создает
локальную перменную
сделать её глобальной можно, убрав var
function(data){text = data;}
не смотря на то, что в случае отсутствия var создается глобальная переменная, чтобы исключить совпадение с локальными переменными функций/замыкания можно явно указать, что переменная - глобальная (является свойством window)
function(data){window.text = data;}
учти, что если ты делаешь запрос через $.ajax (который по умолчанию асинхронный), то код ниже продолжит выполняться до его завершения
$.ajax({
...
success:function(data){window.text=data;}
});
alert(window.text); // неверно! выведет undefined