Я знаю, что этот вопрос задан много раз, однако в моем случае предлагаемые коды и решения не разрезают его. Сеть ответ до сих пор мой случай пуст, и код ошибки 0.Qt ответ сети пуст
Вот моя функция:
QString NWork::send(QVector<QString> &data) const{
//QNetworkAccessManager qnam = new QNetworkAccessManager();
QNetworkAccessManager qnam;
try{
QString json = NWork::to_JSON(data);
QByteArray json_data(json.toUtf8());
QNetworkRequest request;
request.setUrl(QUrl(NWork::connection));
request.setRawHeader("Content-Type", "application/json");
request.setRawHeader("Content-Length", json_data);
reply = qnam.post(request, json_data);
//reply = qnam.get(request);
int status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
QString s(reply -> readAll());
qDebug()<<"code "<<status<<"Content "<<s;
//return QString::fromUtf8(response.data(),response.size());
}catch(std::exception x){
std::cout<<x.what()<<std::endl;
}
return "";
}
Установление связей вида предложено много, как
connect(qnam,SIGNAL(destroyed(QNetworkReply*)),this,SLOT(read(QNetworkReply*)));
не оказывают никакого влияния на все. Запрос достигает PHP-скрипта, и я знаю это, записывая данные запроса в файл. Он делает это для каждого запроса. Повторение чего-либо назад даже с заголовком text/html не работает.
Да, я пробовал свой PHP-скрипт с помощью программы запроса HTML AJAX, и он работает. Он записывает файл и возвращает ответ браузеру. Тот же код в обоих случаях.
Вот мой PHP код:
header("Access-Control-Allow-Origin: *");
$k = file_get_contents("php://input");
$file = "/file/path/log.k";
//echo $file;
$handle = fopen($file, "a+");
if($handle){
echo $k;
fwrite($handle, $k."\n");
fclose($handle);
}
header("Content-Type: text/html");
echo "line 22 ".$que;
exit(0);
Я проверил мои журналы ошибок apache2 и никто не вызываются. Почему это не работает в моем случае?