Страница 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
Зачем ты постоянно цитируешь сообщения с кучей текста и кодом? Достаточно кликнуть на ник пользователя, чтобы он понял, что сообщение адресовано ему. Прокручивать текст предыдущего сообщения и искать в нём твой текст - очень неудобно, и отвечать не хочется.
В переменную как обычно:
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
Re: notes.get
Добавлено: 19 сен 2011, 16:17
psix55
Ruzofmo писал(а):Александр,
Ошибка:
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 ,а остальные данные?