Post-parametrin välitys aiheuttaa ongelmia libhttpseverissä. Eroaako post-parametrin rekisteröinti get-parametrin rekisteröinnistä libhttpserverissä niin, että httpserver::http_request& hyväksyy vain get_arg -menetelmän get-parametreiile.
Kokeilin tällaista luokkaa
class file_response_resource3 : public httpserver::http_resource
{
public:
const std::shared_ptr<httpserver::http_response> render_POST(const httpserver::http_request& req)
{
std::string datapar06 = req.get_arg("data06"); // ??????
std::cout << "!!!!!!!data06 on nyt:" << datapar06 << std::endl; // ??????
return std::shared_ptr<httpserver::file_response>(new httpserver::file_response("textareafile.html", 200, "text/html"));
}
}; // luokka file_response_resource3 loppuu
tällaisen javascript-funktion kautta
async function fetch_textareafile02() // postina, libhttpserverissä
{ // laitettava postiksi
let response = await fetch('textareafile.html',
{
method: 'POST',
headers: {
"Content-Type": "text/plain;charset=UTF-8"
},
body: { 'data06': 'ÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅ ' }
}
);
let text = await response.text();
form_var = document.getElementById("form01");
textarea_var = form_var.tekstialue_id;
textarea_var.value += text + '\t';
}
Html sivulla tekstialue päivittyy, mutta libhttpserver-puolella parametrin arvo ei tulostu. Kokeilin myös post_arg("data06"); , mutta arvaus meni vähän pieleen, koska vain get_arg menetelmä on olemassa. Eroavatko get- ja post-käsittelyt libhttpserverissä jotenkin html-parametrien suhteen, vai teenkö taas jonkun mielikuvituksekkaan virheen tässäkin asiassa.