gpt4 book ai didi

php - QT 网络回复不会给我返回来自 PHP 脚本的结果

转载 作者:行者123 更新时间:2023-11-28 08:11:01 25 4
gpt4 key购买 nike

大家好,我有一个问题。我正在将 QT 与 php 脚本连接起来。一切正常,但是有人可以帮助我如何从中接收 php 结果吗?这是我的代码:

void MainWindow::Dodaj_korisnika(QUrl url)
{
//reply = qnam.get(QNetworkRequest(url));
////////////////////////////////////////////////////
QUrl params;
params.addQueryItem("action","Dodaj_korisnika");
params.addQueryItem("ime",ui->lineEdit);
params.addQueryItem("prezime",ui->lineEdit_2);
params.addQueryItem("broj",ui->lineEdit_3);
params.addQueryItem("adresa",ui->lineEdit_4);

QByteArray data;
data.append(params.toString());
data.remove(0,1);

QNetworkRequest request;
request.setUrl(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
QVariant("application/x-www-form-urlencoded"));
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkReply *reply = manager->post(request, data);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
}

而且我在论坛上发现我需要使用这个功能:

void MainWindow::replyFinished(QNetworkReply *reply)
{
QString data = reply->readAll().trimmed();
// document.setContent(reply);
}

但是我在这个函数中没有得到任何东西..是否可以从 QT 管理器变量中读取?我收到 xml 结果。我想把它写成 QDomDocument 这可能吗?如果你有时间,请给我一些提示或一些例子..谢谢大家!

最佳答案

您确定 PHP 脚本收到了一些东西吗?

  • 首先,您每次发布时都会创建一个信号和槽
  • 然后您在发布后创建连接
  • 第三,确认您的查询格式正确并且 php 脚本正在接收它。如果你有脚本 log\print incoming messages

编辑:这是它应该的样子

// early in the code, like in the constructor 
void MainWindow::init(){
this->manager = new QNetworkAccessManager(this);
connect(this->manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
}

void MainWindow::Dodaj_korisnika(QUrl url){

QUrl params;
params.addQueryItem("action","Dodaj_korisnika");
params.addQueryItem("ime",ui->lineEdit);
params.addQueryItem("prezime",ui->lineEdit_2);
params.addQueryItem("broj",ui->lineEdit_3);
params.addQueryItem("adresa",ui->lineEdit_4);

QByteArray data;
data.append(params.toString());
data.remove(0,1);

QNetworkRequest request;
request.setUrl(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
QVariant("application/x-www-form-urlencoded"));

//Here you don't need to get the reply, it will be the same given to
//MainWindow::replyFinished
this->manager->post(request, data);

}

void MainWindow::replyFinished(QNetworkReply *reply){
//Use the reply as you wish
}

关于php - QT 网络回复不会给我返回来自 PHP 脚本的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9068158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com