Я очень новичок в ежевике и работаю с каскадами. Я реализовал простое http-соединение (HTTP POST).BB Slot не работает для подключения Http
Ответ является проблематичным, иногда я отвечу, показанному в тосте, а иногда он просто ничего не показывает.
Вот код:
void ApplicationUI::work(QString clgId){
QNetworkAccessManager connection;
QUrl url("http://abc.co.in/test/test.php");
//url.addQueryItem("parameter", "2");
//QNetworkRequest request(url);
QByteArray data;
data.append("test=1");
QNetworkReply *reply = connection.post(request, data);
connect(reply, SIGNAL(finished()), SLOT(postFinished()));
showToast("OK");/*If I comment this line. The postFinished() is not called*/
}
void ApplicationUI::postFinished(void){
showToast("PostFinished");
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
if (reply->error() == QNetworkReply::NoError){
// No error
QString result = reply->readAll();
showToast(result);
}
else{
// error occurred
int errorCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
qDebug() << errorCode << endl << reply->errorString();
showToast(reply->errorString());
}
reply->deleteLater();
}
void ApplicationUI::showToast(QString text) {
bb::system::SystemToast toast;
toast.setBody(text);
toast.killTimer(5);
toast.setPosition(bb::system::SystemUiPosition::BottomCenter);
toast.exec();
}
Я нахожусь в затруднительном положении о том, что проблема, пожалуйста, помогите.
Просто чтобы прояснить, это проблема с тост не показывать или запрос POST ничего не возвращает? Это два отдельных вопроса. – onion