Nechtěná struktura HTML u AJAXu
- dj.kure
- Člen | 70
Ahoj,
mám tu takový trošku problém. Bohužel nevím od kdy se začal objevovat, protože jsem mezi tím Xkrát upgradoval jak Nette, tak verzi PHP (vč. přechodu z PHP 5 na 7), ale začalo se mi dít to, že Handle místo prostého textu začal vracet HTML.
Mám jednoduchý DB dotaz, který buďto vracel textový seznam jmen
oddělených čárkou, nebo nic.
A nyní, mi Nette stále vrací toto:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Namísto „ničeho“, případně stejnou strukturu i s daty oddělenými
čárkou.
Úpravou hlaviček můžu pouze upravit, zda je content html, nebo text. Ale
obsah je stále totožný, stále html a já html nechci. Chci jen prostý
text/seznam, nebo nic.
Netušíte, co by to mohlo způsobovat? Podezíral jsem trošku doplněk Tidy, který ale nepoužívám, takže nevím, co by tam mohlo takto automaticky vkládat základní html strukturu.
- dj.kure
- Člen | 70
Pardon, editoval jsem to a doplňoval, ale asi se neuložil :-)
Víceméně vypadá takto (příklad):
public function handleTestOne()
{
echo "AHOJ";
exit;
}
Má se jednat opravdu jen o čistě textový výstup typu „AHOJ“, nic
víc, ani o mezeru víc.
Ale nejedná, vždy se mi tam nacpe ta struktura HTML a mezi tagy
<body></body> se vloží text „AHOJ“, takže po zavolání
adresy /presenter/?do=testOne dostanu výsledek
<!DOCTYPE html>...</html>
namísto holého slova „AHOJ“.
Editoval dj.kure (30. 10. 2017 19:28)
- dj.kure
- Člen | 70
Tak se omlouvám za zbytečný dotaz, ale třeba to někomu pomůže – chyba nebyla na straně Nette, ale v rozšíření „Tidy“, které jsem sice aktivně nikde nevolal, ale bylo zavedeno na serveru a fungovalo „automaticky“.
Nastavení se nachází klasicky v souboru php.ini.
[Tidy]
; The path to a default tidy configuration file to use when using tidy
; http://php.net/tidy.default-config
;tidy.default_config = /usr/local/lib/php/default.tcfg
; Should tidy clean and repair output automatically?
; WARNING: Do not use this option if you are generating non-html content
; such as dynamic images
; http://php.net/tidy.clean-output
tidy.clean_output = On
Stačilo tedy změnit nastavení na „Off“.
Editoval dj.kure (31. 10. 2017 9:44)