Ve formuláři v php zdroji přes ajax volám provedení jiného php, ktrerý jen provede načtení a zobrazení vyselectovaných dat v již zobrazené stránce. Problém je, ´že se mě do každého html a php souboru automaticky přidává dle podmínek webuzdarma reklamní lišta, jenže v tomto případě to znamená, že zobrazení dat se neprovede, resp. to trčí na google-analytics, což je pravděpodobně součást js kodu lišty. Lze nějak zažádat, aby se lišta do konkrétního php nepřidávala?
Stačí tomu AJAXu dát jiný typ MIME, např. application/json nebo application/xml podle typu návratové hodnoty. Lišta se přestane vkládat. Kromě toho to bude i sémanticky správně.
Omlouvám se, ale nějak si nevím rady.
mám stránku pokus.php
v něm
<head>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript" src="js/moje.js"></script>
</head>
<form id="show" enctype="multipart/form-data" action="napln.php" method="post"><a href="javascript:jsShowDetail()" >Napln</a><div id="sem"></div></form>
v moje.js
function jsShowDetail(uid) {
$("#show").ajaxForm({target: '#sem'}).submit();
return;
}
v napln.php je vlastni naplneni dat do #sem
Kde tedy mám co upravit, aby se v ramci napln.php nevolala ta přihrávaná reklamní lišta? Děkuji za radu
Do napln.php vlož funkci
header('Content-Type: application/xml');
Pozor, musí to být první výstup, nesmí před ním být žádné echo, ani prázdný řádek.
Moc dík, už to funguje tak jak má.
Tak ještě problémek, když chci v napln.php vyselectovaná data dát do tabulky
a provedu
echo "
<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"100%\" class=\"tab\">";
atd...atd..
zobrazí se mě tov #sem jako text a né jako tabulka v html
Vyzkoušel jsem to jinde bez header('Content-Type: application/xml'); , kde se nepřidává reklamní lišta a funguje to ok, data se správně zobrazují v tabulce. Takže co s tím? Děkuji za další tip.
A další problém, po chvilce používání se objevuje:
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Používám db SQLite. Co s tím? Děkuji za radu.
Asi obsah té tabulky vkládáš nevhodnou funkcí Javascriptu.
Databáze s tím zřejmě nemá nic společného. I server si občas potřebuje odpočinout od našich požadavků :-)
Teď tomu trochu nerozumím.
1.Jestliže do napln.php nevložím header('Content-Type: application/xml'); tak se mě bohužel díky automaticky vkládané liště stránka sekne.
2.Jestliže do napln.php vložím header('Content-Type: application/xml'); tak se mě stránka nesekne, provede se kód v napln.php, ale jelikož plním tabulku ve formátu html, výsledně se mě to nezobrazí jako tabulka ale jen kodový text.
3.Jestliže do napln.php nevložím header('Content-Type: application/xml');, ale vyzkouším to někde, kde se mě automaticky nevkládá reklamní lišta, tabulka se zobrazí spávně.
Druhý problém The server is temporarily unable.... Asi obsah té tabulky vkládáš nevhodnou funkcí Javascriptu. Tomu taky nějak nerozumím.
To máš z toho, že pleteš dvě témata do jednoho vlákna. Ta zmínka o Javascriptu se týkala té tabulky. Možná ta tabulka není validní kus XML. Můžeš také zkusit vkládat JSON, je to o něco jednodušší a rychlejší.
I když dám header('Content-Type: application/json'); zobrazí se jen zdrojový text. Nevím co dělám špatně, bez reklamní lišty to chodí OK.
Když dáš application/json, tak přenášená data musí být v JSON a ne v XML či HTML. Javascript to pak musí náležitě zpracovat parsováním výsledku. A to máš špatně.
Aha, tak to raději změním server. Jinak to asi nejde udělat, aby reklamní pruh nebyl dáván do php, které jen načítá data a připravuje k zobrazení, co?