IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
John Ronald Reuel Tolkien:21.5.2018 21:27

Zdravím, mám následující kód :

let xhtml=new XMLHttpRequest();
   let jmeno="John";
   window.onload=function()
   {

   xhtml.onreadystatechange=function()
   {
   if (xhtml.readyState==4 && xhtml.status==200)
   {


   document.getElementById("text").innerHTML=this.responseText;
   alert(this.responseText);

   }
  }
   xhtml.open("GET","php.php?s=" + jmeno,true);
   xhtml.send();

   }

V odstavci ['text'] se ale nic nevypíše. V alertu pod ním se to sice vypíše ale v této formě:
<?php

$s=$_REQUEST["s"];

echo $s + "Zdravím tě !";

?>

Kde je problém ? proč to vyhodnocuje php kód jako text ?
Apache mám zapnutého.
Děkuji za odpověď.

Editováno 21.5.2018 21:29
 
Odpovědět
21.5.2018 21:27
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:22.5.2018 7:32

Nevim, zda uplne chapes, o co bezi.
Www prohlizec pracuje s html/css/js kodem a nejakymi dalsimi soubory jako obrazky, napr.
Request nedela nic jineho, nez jakoby otevre novou stranku a jeji text/html/... ulozi do promenne.

'proč to vyhodnocuje php kód jako text ?'
Cili, ta otazka nedava smysl. Server s php vyhodnocuje php jako php. Prohlizec, ktery php nema, php nerozumi, pro nej je to jenom text.

'let xhtml'
To asi neni cisty js. V js se pouziva 'var xhtml'.

Kdyz tu stranku zobrazis zvlast v okne, take vypise php kod? Pokud ano, tak na serveru bud nebezi php nebo mas v php kodu chybu. Pripadne, jeste tam muze byt parazitni navic utf-8 bom znak na zacatk souboru. Jinak, ja bych to pojmenoval jako response.php a ne php.php.
http://tvujserver/php.php?…

https://developer.mozilla.org/…ystatechange

var xhr = new XMLHttpRequest(),
    method = "GET",
    url = "https://developer.mozilla.org/";

xhr.open(method, url, true);
xhr.onreadystatechange = function () {
  if(xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.send();

Nevim, jak moc by melo fungovat to this. Mozna, pokud pouzivas synchronni request. tady v prikladu kazdopadne jsou pres jmeno objektu.

 
Nahoru Odpovědět
22.5.2018 7:32
Avatar
John Ronald Reuel Tolkien:22.5.2018 14:31

Zatím moc nechápu, teprve se to učím :D

 
Nahoru Odpovědět
22.5.2018 14:31
Avatar
John Ronald Reuel Tolkien:22.5.2018 15:11

Jinak, můj kód je v pořádku, nezáleží jestli je let nebo var - i s let by to byl čistý JS. Request tomu taky nevadí... Co bylo špatně je to, že jsem to neměl uloženo jako php soubor.

Editováno 22.5.2018 15:11
 
Nahoru Odpovědět
22.5.2018 15:11
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:22.5.2018 15:25

Php soubor je plain text.
Pokud stacilo v editoru zmenit ukladani z text (html, csv a pod) do php, pak ti tam ten editor nejspis pridaval prave utf-bom znak. Super, ze se to vyresilo tak snadno :)

 
Nahoru Odpovědět
22.5.2018 15:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.