Работа с полученным через $.get() обьэктом/данными
Господа!
3й день бьюсь с одной функцией!
var userIdD = $.get('http://someurl.com/options.php', function(abc) {
var abc = $(abc);
var link = $(abc).find('a:contains(View My Profile)');
//console.log (link);
var userID = $(link).attr('href');
var userId = $(userID);
console.log(userId);
console.log(userID);
});
console.log(userIdD);
console.log(userId);
Внутри самой функции console.log срабатывает вполне успешно, а после выхода из неё показывается как undefined! Подскажите, как можно правильно извлечь данные, чтобы в дальнейшем была возможность ими пользоваться! версия jquery-1.4.4.js |
|
BuZZinga,
Сделайте userId глобальной переменной, и сможете пользоваться ей вне функции. Но, с учетом того, что get - асинхронный запрос, она не сразу получит значение из ответа. |
вот как раз и воюю с тем, чтобы получить её, и в дальнейшем пользоваться ею
|
BuZZinga,
var userId;
$.get('http://someurl.com/options.php', function(abc) {
var abc = $(abc);
var link = $(abc).find('a:contains(View My Profile)');
//console.log (link);
var userID = $(link).attr('href');
userId = $(userID);
console.log(userId);
console.log(userID);
});
и через какое-то время можно будет console.log(userId); Но правильней было бы использовать ее внутри функции обработки ответа |
BuZZinga,
Или использовать более новую версию jQuery, и тогда у вас появится объект jqXHR, который содержит, кроме всего, и ответ от сервера. Смотрите первую ссылку в посте №2 а также http://jquery.page2page.ru/index.php...BA%D1%82_jqXHR |
с удовольствием использовал бы более новую версию, но к сожалению это не представляется возможным((
выходить надо из того что есть( |
BuZZinga,
Используй паттерн pub/sub с помощью этой фичи http://api.jquery.com/triggerHandler/. Когда ответ пришел, генерируешь событие. Где-то ниже, идет подписка на это событие. userID и userId передавай как экстра-параметры. |
| Часовой пояс GMT +3, время: 05:28. |