![]() |
|
||||||||||
|
|
|
|||||
|
Я уже затр..ся с этим.. Итак, вот код:
function getMessages(){ var Out:LoadVars = new LoadVars(); // Отправитель var In:LoadVars = new LoadVars(); // Получатель _urls = _root.server.server + "getCountMessages.php"; Out.sendAndLoad(_urls, In, "POST"); In.onLoad = function(suc:Boolean):Void { if (suc){ count = this.error; if (count == 0){ chatArea.area.htmlText = "Сообщений нет"; } else { readingMessages(count); } } else { chatArea.area.htmlText = "Не могу связаться с сервером!"; } } } function readingMessages(count){ for (i=count; i>=1; i--){ _urls = _root.server.server + "chat/" + i + ".msg"; var lv:LoadVars = new LoadVars(); lv.onLoad = lvOnLoad; lv.load(_urls); function lvOnLoad (suc:Boolean) { if(suc){ messange = this.messange + "<br>"; allMessanges += messange; } else { chatArea.area.htmlText = "Ошибка чтения файлов!"; } } } chatArea.area.htmlText = allMessanges + "<br>"; } Сначала он ругался на значение count, которое я получаю с помощью getMessages(), которая получает количество ВСЕХ сообщений. При трейсе, я добился того, что count стал нормальным. А вот ругается он на функцию readingMessages(count), которая считывает сообщения через цикл.. Почему же ошибка?
__________________
Надо сменить подпись... |
|
|||||
|
Модрон-ветеринар
|
Судя по обработчику In.onLoad, count не число, а строка, поскольку парсится из результатов http-запроса:
, а ты пытаешься использовать его как число: Попробуй привести его к числу: Возможная причина. PS. Не используй служебные слова, как свои переменные - error, in, это будет миной замедленного действия, глюки будут обеспечены.
__________________
Идите первым! Последний раз редактировалось mooncar; 13.02.2012 в 17:28. |
|
|||||
|
Судя по логам ошибок, не выполняется условие
if (suc){ chatArea.area.htmlText += "Выполнение 4<br>"; count = parseInt(this.count); if (count == 0){ chatArea.area.htmlText += "Сообщений нет<br>"; } else { chatArea.area.htmlText += "Выполнение 5<br>"; readingMessages(count); } } else { chatArea.area.htmlText += "Не могу соединиться с сервером<br>"; } Что тут не так?
С проблемой разобрался, но не выполняется эта функция: function readingMessages(count){ for (i=count; i>=1; i--){ _urls = String(_root.server.server + "chat/" + i + ".msg"); var lv:LoadVars = new LoadVars(); lv.onLoad = lvOnLoad; lv.load(_urls); function lvOnLoad (suc:Boolean){ if(suc){ messange = this.messange + "<br>"; allMessanges += messange; } else { chatArea.area.htmlText = "Ошибка чтения файлов!"; } } } chatArea.area.htmlText = allMessanges + "<br>"; allMessanges = ""; } Возможно ли считывание через циклы? Или есть другой способ? Добавлено через 1 час 24 минуты Убрав цикл - всё работает. Ставлю цикл - ничего не работает... Добавлено через 1 час 27 минут Наверное из-за того, что не выполняется:
__________________
Надо сменить подпись... Последний раз редактировалось EndoCrinologist; 13.02.2012 в 17:44. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|