Russian Qt Forum
Сентябрь 21, 2024, 14:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Теряется часть данных XML  (Прочитано 3237 раз)
gas_87
Гость
« : Сентябрь 13, 2012, 17:44 »

Отправляю XML запрос на сервер - отправляется, получаю ответ в виде XML. Помещаю этот ответ в QTextEdit, а он там не весь. Начало ответа куда-то пропадает. Причем иногда на долю секунды в поле появляется заголовок а затем пропадает. Ответы всегда приходят одинаковые, но отображается всегда по разному. В чем проблема? Где искать пропавшую часть???
 
Код:
    apiUrl.setUrl("http:/myUrl.jsp");

    requestString = "zapros";

    request.setUrl(apiUrl);

    request.setRawHeader("POST", "blabla HTTP/1.0");

    reply = manager.post(request, requestString);

    connect(reply, SIGNAL(finished()),
            this, SLOT(getReplyFinished()));
    connect(reply, SIGNAL(readyRead()),
            this, SLOT(readyReadReply()));

void MainWindow::readyReadReply() {
    answer = reply->readAll();            //QString answer
    otvetText->setText(answer);       //QTextEdit otvetText
}

void MainWindow::getReplyFinished() {
    reply->deleteLater();
« Последнее редактирование: Сентябрь 13, 2012, 18:27 от gas_87 » Записан
gas_87
Гость
« Ответ #1 : Сентябрь 13, 2012, 18:25 »

Все! сам разобрался.

Вместо:
Код:
answer = reply->readAll();            //QString answer

Нужно было:

Код:
answer += reply->readAll();            //QString answer

Правда пока не знаю почему оно так(может кто и ответит).
Но думаю, что с очень маленькими XML, и первый вариант был бы рабочий.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Сентябрь 14, 2012, 08:08 »

Тебе же не сразу приходят все данные, а разбиваются на части.
otvetText->setText(answer); перенеси в getReplyFinished.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 23.