Portál AbcLinuxu, 9. května 2025 02:52

Dotaz: apache a nginx problé s ajaxem

22.3.2013 13:09 JohnyOushek
apache a nginx problé s ajaxem
Přečteno: 175×
Odpovědět | Admin
Zdravím,

na svých stránkách používám anketu a chtěl jsem si předělat tak, aby fungovala pomocí jquery a ajaxu, abych nemusel reloadovat celou stránku při hlasování. Doma na localhostu mám server LAMPP, takže Apache, ale na hostingu stránky běží na NGINX.

Zpracování ankety volám takto: $(function() { $("#'.$cislo.'").click(function() { $.ajax({ url: "anketa_formy.php", type: "GET", data: { anketa: "'.$cislo.'"}, cache: false, success: function() {alert("OK")} }); $(document).ready(function() {$("#anketa").load("anketa_formajax.php");}) }); });

Na localhostu to funguje. Proběhne skript anketa_formy.php, který uloží všchno, co má do databáze, a pak se znovu načte anketa_formajax.php již s přidaným hlasem. Takže funguje, tak jak má.

Problém nastává po nahrání na hosting, kde běží NGINX. Tam proběhne skript anketa_formy.php a všechno správně uloží do DB, ale funkce load(anketa_formajax.php) sice proběhne a načte daný skript, ale server v podstatě nezpracuje php v tomto souboru a vypíše jen to, co je mimo php část.

Můžete mi nějak poradit, aby to fungovalo i na hostingu s NGINX?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Tarmaq avatar 22.3.2013 13:41 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
Odpovědět | | Sbalit | Link | Blokovat | Admin
fuj, predpokladam ze ten js mas vygenerovany pro kazdou moznost v ankete zvlast..

byl by link na tu stranku? ;]
Don't panic!
22.3.2013 13:58 JohnyOushek
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
jj, js je generovaný pro kazdou moznost zvlášť. link je tady
22.3.2013 14:04 chrono
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
Keď sa to načítanie (konkrétne kód $("#anketa").load('anketa_formajax.php')) presunie do success, pravdepodobne to bude fungovať lepšie ako teraz.
Tarmaq avatar 22.3.2013 14:09 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
nebudu tu resit, jak zvraceny cely ten postup je, ale ocividne se to php provedlo, protoze se vratily handlery i html pro vsechny moznosti. V tom PHP je nekde problem, bylo by mozne dodat jeste ten PHP kod? Mam tuseni ze problem bude spis v nejake dalsi prasarne, kterou ti doma nakonfigurovane PHP povoli, ale na hostingu ne..
Don't panic!
22.3.2013 14:16 JohnyOushek
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
php kód je zde
';
echo $otazka;}
//*funkce na vypis otazek pod formular



function hlas($cislo){
$spojeni=mysql_pconnect("localhost","****","****");
$co="select * from zadani_anketa limit 1";
$vypis=mysql_QUERY($co, $spojeni);
mysql_query("SET NAMES 'cp1250'");
while (list($otazka,$m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8) = mysql_fetch_row($vypis)){
switch ($cislo){
//prirazeni spravne odpovedi cislu 
case '1':$text=$m1;break;
case '2':$text=$m2;break;
case '3':$text=$m3;break;
case '4':$text=$m4;break;
case '5':$text=$m5;break;
case '6':$text=$m6;break;
case '7':$text=$m7;break;
case '8':$text=$m8;break;
}}
//pocitani jednotlivych odpovedi
$pocet="select count(id)  from anketa where hlas='".$cislo."'";	
$pocitam=mysql_QUERY( $pocet, $spojeni);
while (list($pocetodpo) = mysql_fetch_row($pocitam)){
$celkem=$pocetodpo;}
//pocet vsech odpovedi pro vzpocet procent
$pocet2="select count(id)  from anketa ";
$pocitam2=mysql_QUERY( $pocet2, $spojeni);
mysql_query("SET NAMES 'cp1250'");
while (list($pocetcelk) = mysql_fetch_row($pocitam2)){
$celek=$pocetcelk;}
// vypocet procent a vypis odpoved zase 123 je neyvpiosuj
if ($celek!=0){
$procenta=$celkem*100/$celek;}
else {$procenta='0';}
if ($text!='123'){
$celkem2=$procenta*2;
echo '
';
	$spojeni=mysql_pconnect("localhost","****","****");
	$pocet3="select count(id)  from anketa where ip='".$_SERVER["REMOTE_ADDR"]."' ";
	$pocitam3=MYSQL_QUERY( $pocet3, $spojeni);
	while (list($pocetcelk2) = mysql_fetch_row($pocitam3)){
	$pocip=$pocetcelk2;
	}
	if ($pocip>100)
	{
	echo '
'.$text.'
'.$celkem.'/'.round($procenta).'%
'; } else{ echo '
'.$text.'
'.$celkem.'/'.round($procenta).'%
';} } return($celkem); } /*volani vypisu otayek pod form*/ $a=hlas(1); $b=hlas(2); $c=hlas(3); $d=hlas(4); $e=hlas(5); $f=hlas(6); $g=hlas(7); $h=hlas(8); $celkem=$a+$b+$c+$d+$e+$f+$g+$h; echo 'Celkem hlasů '.$celkem.'.'; echo '
Historie anket ZDE
'; echo '

'; ?>
Jinak upozorňuji, že jsem samouk a nemám žádný informatický vzdělání, takže ten kód se vám asi nebude líbit.
22.3.2013 14:18 JohnyOushek
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
Příloha:
Nějak to blbne, dám to sem jako soubor
22.3.2013 13:53 chrono
Rozbalit Rozbalit vše Re: apache a nginx problé s ajaxem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prečo obsluha toho kliknutia v odpovedi neposiela to, čo sa má potom zobraziť? (mám totiž pocit, že tie dve volania sa teraz robia náhodnom poradí, v závislosti od toho, čo a v akom poradí stihne server poslať)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.