BB插槽没有为Http连接触发

时间:2015-07-24 12:16:54

标签: httprequest blackberry-10 blackberry-cascades

我是黑莓新手并与级联合作。 我已经实现了一个简单的http连接(HTTP POST)。

回答是有问题的,有时候我会在敬酒中显示回复,有时它根本不会显示任何内容。

以下是代码:

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();
}

我正在解决问题所在,请帮忙。

1 个答案:

答案 0 :(得分:1)

我建议您查看BlackBerry 10 Networking文档。

Networking documentation

还有一个示例项目,展示了如何使用HTTP post和HTTP get与服务器进行通信。

github sample project