我有一段在 4.8 中工作的代码,但现在我需要将它移植到 Qt5 (beta2)
这应该会发生:
我想将一些数据发布到网络服务器,url 应该看起来像这样“ http://server/ actions.php " 然后我的字段(一个“Action”-string 和一个“data”string(json))应该使用 post 发送到服务器。未在 url 中编码
QUrl params;
// The data to post
QVariantMap map;
map["Title"]="The title";
map["ProjectId"]="0";
map["Parent"]="0";
map["Location"]="North pole";
map["Creator"]="You";
map["Group"]="a group";
QByteArray data = Json::serialize(map); //the map is converted to json im a QByteArray
params.addEncodedQueryItem("Data",data);
params.addQueryItem("Action", "Update");
QNetworkRequest Request(QUrl("http://server.com/actions.php"));
Request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
NetManager->post(Request,params.encodedQuery());
现在,我可能一开始就没有这样做,(它在 4.8 中有效)但真正的问题是,addEncodedQueryItem()
自addQueryItem()
Qt5 以来现在已经消失了,我不知道应该用什么替换它们。
我已经阅读了新文档并看到了新文档,QUrlQuery
但我无法自己弄清楚如何在我的情况下使用它。