Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2011, 15:36   #1
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию Функция не возвращает данные.

Код HTML:
<script>
uid = "49041005";
$(document).ready(function(){
	getUserInfo();
});
function vk_qw(method,params)
{
	$.getJSON("https://api.vkontakte.ru/method/"+method+"?callback=?&"+params+"",{
		access_token: "331609de7f5da85f31fa47b37631d22aa3a31fa31fa67b5cf192af1c5c843e6"
	}
	,function(data){
		alert(data); //Выводит [Object object]
		return data;
	});
}
function getUserInfo()
{
	data = vk_qw("getProfiles","uids="+uid+"&fields=photo_bin,bdate");
	alert(data); //Выводит undefined
}
</script>
Почему не передаются данные блин? Второй день не могу понять.
Abuhamed вне форума Ответить с цитированием
Старый 25.10.2011, 16:59   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

[QUOTE=Abuhamed;901223]
Код HTML:
<script>
uid = "49041005";
$(document).ready(function(){
	getUserInfo();
});
function vk_qw(method,params)
{
        //Не очень уверен в крос-доменном аякс запросе .. но пусть будет
	$.getJSON("https://api.vkontakte.ru/method/"+method+"?callback=?&"+params+"",{
		access_token: "331609de7f5da85f31fa47b37631d22aa3a31fa31fa67b5cf192af1c5c843e6"
	}
	,function(data){
                alert(data); //Выводит [Object object]
                // ну вот по идее если выводит объект, то все ОК, 
                //посмотреть его лучше в консоли console.log(data);
               // Если все ОК, работаем с данными прямо здесь, либо вызываем еще какую-нить функцию
		return data; // бесполезно
	});
}
function getUserInfo()
{ 
        // data = vk_qw("getProfiles","uids="+uid+"&fields=photo_bin,bdate");
        // data естественного ничего не получит, потому что используется асинхронный callback, просто вызываем :
	
        vk_qw("getProfiles","uids="+uid+"&fields=photo_bin,bdate");
	// alert(data); //Выводит undefined
}
</script>

Последний раз редактировалось Cronos20; 25.10.2011 в 17:02.
Cronos20 вне форума Ответить с цитированием
Старый 25.10.2011, 23:13   #3
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Так как тогда получить данные из той функции если оно не хочет ждать ответ?
Abuhamed вне форума Ответить с цитированием
Старый 26.10.2011, 00:45   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
	
........
      ,function(data){
                to_do_something(data);
	});
........

function to_do_something(data) {
  // здесь совершаете все манипуляции с пришедшими данными
}
Поймите, что вы делаете return в callback функции, а ждете что результат вернется в основную! Вы немного не понимаете что такое callback )) Почитайте об этом, вещь в javascripte нужная и интересная
Cronos20 вне форума Ответить с цитированием
Старый 26.10.2011, 10:33   #5
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Спасибо большое.!
Abuhamed вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция возвращает массив Рик Общие вопросы Delphi 5 22.03.2011 09:07
Функция Pos возвращает 0 gufon Общие вопросы Delphi 16 14.03.2011 22:10
функция не возвращает результат=( Chica Bond Общие вопросы C/C++ 14 03.12.2010 18:47
Функция не возвращает значения 2.0 Winlook PHP 1 10.05.2010 00:58
Что возвращает эта функция? D[I]K Общие вопросы C/C++ 9 07.10.2009 00:32