Ubuntu Suomen keskustelualueet
		Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 20.02.22 - klo:20.40
		
			
			- 
				
 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.
 
 
 
- 
				Lähetät data06:n bodyssä ja vieläpä text/plain-tyyppisenä, jolloin mikään vastaanottopuolen komponentti ei tulkitse sitä argumenttina. Voit kuitenkin lukea bodyn sisällön libhttpserverin get_content() -metodilla. Kannattaa tosin vaihtaa content-typeksi application/json ja tulkita viesti palvelinpuolella jollain tarkoitukseen sopivalla JSON-parserilla. Muuten menee aika hankalaksi etenkin, jos tarkoituksena olisi välittää useita eri tyyppisiä argumentteja.
 
 Vaihtoehtoisesti voisit lähettää argumentit lomakkeiden tapaan application/x-www-form-urlencoded -muodossa, jolloin libhttpserverin get_arg()-metodi osaa tulkita ne suoraan.