Страница 1 из 2

notes.get

Добавлено: 18 сен 2011, 12:19
Ruzofmo

Код: Выделить всё

public function Main()        {            var flashVars:Object = stage.loaderInfo.parameters as Object;            // тут данные для локального тестирования            api_id = flashVars['api_id'];            viewer_id = flashVars['viewer_id'];            sid = flashVars['sid'];            secret = flashVars['secret'];            var VK:APIConnection = new APIConnection(flashVars);            VK.api('notes.get', {uid:viewer_id}, noteLoaded, onError);        }        private function noteLoaded(data: Object):void        {            frCount = data.length;            result_tf.text = 'Количество заметок: ' + frCount + "\n";            for (var i=0; i<frCount; i++)            {                result_tf.appendText(data[i].nid + "\n");            }        }        private function onError(data: Object):void        {            result_tf.text = data.error_msg;        }
Всегда выдаёт ошибку:
ReferenceError: Error #1069: Не удалось найти свойство nid в Number; отсутствует значение по умолчанию.
at Main/noteLoaded()
at Function/<anonymous>()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Re: notes.get

Добавлено: 18 сен 2011, 20:23
Александр
Ruzofmo

Код: Выделить всё

frCount = data.length;result_tf.text = 'Количество заметок: ' + frCount + "\n";
Это зачем?
Читай документацию по методу http://vkontakte.ru/developers.php?oid=-1&p=notes.get

Пример ответа в формате JSON

Код: Выделить всё

{"response": [3, {        "nid": "9623697",        "uid": "1",        "title": "Лучшее решение",        "text": "Лучшее решение из возможных - самое простое. И наоборот.",        "date": 1261454603,        "ncom": "12"    },    {        "nid": "9588560",        "uid": "1",        "title": "Самое главное",        "text": "Самое главное - уметь отличать самое главное от всего остального.",        "date": 1259030866,        "ncom": "9"    }]}
Видишь там передаётся количество = 3.

Почитай про работу с JSON здесь http://flapps.ru/forum/topic673.html и в книгах по ActionScript.

И приучивай себя давать переменным логичные имена. Хранить в frCount количество заметок, как-то нелогично. Потом сам будешь путаться.

Re: notes.get

Добавлено: 18 сен 2011, 22:01
Ruzofmo
А как записать в переменную ответ от сервера вконтакте?

Re: notes.get

Добавлено: 18 сен 2011, 22:11
Александр
Ruzofmo
Зачем ты постоянно цитируешь сообщения с кучей текста и кодом? Достаточно кликнуть на ник пользователя, чтобы он понял, что сообщение адресовано ему. Прокручивать текст предыдущего сообщения и искать в нём твой текст - очень неудобно, и отвечать не хочется.

В переменную как обычно:

Код: Выделить всё

var perem = data;

Re: notes.get

Добавлено: 18 сен 2011, 22:46
Ruzofmo
Александр,

Код: Выделить всё

var json_str = data;         var json_data:Array=JSON.decode(json_str);
Ошибка:
Error #1034: Ошибка типа Coercion: невозможно преобразовать 48 в Array.
48 - количество заметок.
Из-за чего может возникнуть эта ошибка?

Re: notes.get

Добавлено: 18 сен 2011, 22:52
Ruzofmo

Код: Выделить всё

var json_str = data[1]; 
Тоже не помогает.

Re: notes.get

Добавлено: 19 сен 2011, 16:17
psix55
Ruzofmo писал(а):Александр,

Код: Выделить всё

var json_data:Array=JSON.decode(json_str);
Ошибка:
Error #1034: Ошибка типа Coercion: невозможно преобразовать 48 в Array.
48 - количество заметок.
Из-за чего может возникнуть эта ошибка?
Из-за того, что ты преобразуешь число в массив.
Надо как минимум так:

Код: Выделить всё

var json_data:Array=[JSON.decode(json_str)];
А вообще надо сначала обработать ответ, а потом уже пихать в массив.

Re: notes.get

Добавлено: 19 сен 2011, 16:43
Ruzofmo
Из-за того, что ты преобразуешь число в массив.
Надо как минимум так:

Код: Выделить всё

var json_data:Array=[JSON.decode(json_str)];
А вообще надо сначала обработать ответ, а потом уже пихать в массив.
Так оно выдает число 48.
А как сделать так что бы декодировалась 2 часть?(Сама информация о заметках).
Может есть какой-нибудь урок по обработке запроса перед декодированием?

Re: notes.get

Добавлено: 19 сен 2011, 16:55
psix55
Я и написал, что сначала лучше обработать ответ.
Может есть какой-нибудь урок по обработке запроса перед декодированием?
Попробуй тут найти: http://flapps.ru/forum/topic673.html

Re: notes.get

Добавлено: 19 сен 2011, 18:56
Ruzofmo
psix55 писал(а):Я и написал, что сначала лучше обработать ответ.
Там уже готовая JSON строка. А вот так обработать так , что бы раскодировалось не 48 ,а остальные данные?