2015-07-24 9 views
0

Я очень новичок в ежевике и работаю с каскадами. Я реализовал простое 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(); 
} 

Я нахожусь в затруднительном положении о том, что проблема, пожалуйста, помогите.

+0

Просто чтобы прояснить, это проблема с тост не показывать или запрос POST ничего не возвращает? Это два отдельных вопроса. – onion

ответ

1

Я бы порекомендовал взглянуть на документацию по сети BlackBerry 10 Networking.

Networking documentation

Существует также пример проекта, показывающий, как использовать HTTP POST и HTTP GET для связи с сервером.

github sample project