Autor | Zpráva | ||
---|---|---|---|
Woo Profil |
#1 · Zasláno: 7. 12. 2015, 10:29:06
Zdravím mám takový problém s tím, že mám následující funkci, kterou se snažím získat aktuální jídelníček pro daný den.
function ahoj() { $.ajax({ url: "https://student.czu.cz/jquery.php", type: "POST", dataType: 'jsonp', data: {jidelnilistek_datum: '2015-12-08'}, success: function (answer) { document.getElementById('jidlo').innerHTML += '<br>Jídelníček pro dnešní den!' +(answer); } }); |
||
Keeehi Profil |
#2 · Zasláno: 7. 12. 2015, 11:42:56
Podle student.czu.cz/index.php?id_menu=367&id_submenu=1090&id_con_kind=5&id_con=8103 to vypadá, že člověk musí být přihlášený aby se mu to fungovalo.
A těžko ti pomůžeme když se k tomu nedostaneme. |
||
Woo Profil |
Keeehi:
ah ták a předpokládám, že to asi nejde obejít? mám to v rámci semestrálního projektu a hostovaný ten web je v rámci jedné domény takže by to teoreticky mohlo jít přes php, nebo by tam byl stejný problém kvůli tomu přihlašování? ![]() |
||
Keeehi Profil |
#4 · Zasláno: 7. 12. 2015, 15:40:10
Woo:
„hostovaný ten web je v rámci jedné domény“ PHP ani tak nezáleží na doméně, ale stroji a pak na právech v rámci toho stroje. Naopak javascript nezajímá fyzický server ale může ji zajímat (a většinou zajímá) doména. Takže 2 věci, na jaké url by byla vaše výsledná aplikace? A jak vypadá odpověď na dotaz ke kterému jste tu okopíroval hlavičky? Z toho se pak dá zjistit, zda to půjde javascriptem zjistit alespoň pro přihlášené uživatele. |
||
Woo Profil |
#5 · Zasláno: 7. 12. 2015, 16:18:09
Keeehi:
odpověď vypadá následovně 1#@#<tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Polévka 1</td><td style="width: 450px;">Zeleninová polévka s cizrnou A: 1,7,9<br />cena 7.00 Kč / 14.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Polévka 2</td><td style="width: 450px;">Hovězí polévka s drobením A:1,3,7,9 <br />cena 6.00 Kč / 12.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 1 č.1</td><td style="width: 450px;">Vepřová plec na tymiánu, dušená rýže A: 1<br />cena 40.00 Kč / 70.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 2 č.2</td><td style="width: 450px;">Debrecínský vepřový guláš, houskové knedlíky A:1,3,7<br />cena 36.00 Kč / 66.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 3 č.3</td><td style="width: 450px;">Uzená krkovička, bretaňské fazole, okurka A: 1,10<br />cena 45.00 Kč / 75.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Bezmasé jídlo 1 č.4</td><td style="width: 450px;">Smažený robi plátek (rostlinná bílkovina), bramborová kaše, okurka A: 1,3,6,7,10<br />cena 41.00 Kč / 71.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Sladké jídlo č.6</td><td style="width: 450px;">Kynuté knedlíky s borůvkami a zakysanou smetanou A: 1,3,7 <br />cena 37.00 Kč / 57.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Specialita 1 č.7</td><td style="width: 450px;">Mandžuské maso (120g kuřecí steak), bramborová kaše, obloha A: 1,3,6,7<br />cena 49.00 Kč / 79.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Specialita 2 č.8</td><td style="width: 450px;">Gratinované brambory s kuřecím masem, žampiony a sýrem A: 3,7<br />cena 49.00 Kč / 79.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Bezmasé jídlo 2 č.5</td><td style="width: 450px;">Řecký cuketový salát A: 3,7 <br />cena 35.00 Kč / 65.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Polévka 1 - večeře</td><td style="width: 450px;">Špenátová A: 1,7<br />cena 8.00 Kč / 16.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Polévka 2 - večeře</td><td style="width: 450px;">Slepičí se smaženým hráškem A: 1,3,7,9 <br />cena 8.00 Kč / 16.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 1 - večeře č.1</td><td style="width: 450px;">Kuřecí nudličky se sýrovou omáčkou, vařená rýže A:1,7<br />cena 46.00 Kč / 76.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 2 - večeře č.2</td><td style="width: 450px;">Vepřový plátek na slanině, houskové knedlíky A: 1,3,7 <br />cena 37.00 Kč / 67.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Standardní jídlo 3 - večeře č.3</td><td style="width: 450px;">Zapečené těstoviny s uzeninou, okurka A: 1,3,7,10<br />cena 25.00 Kč / 55.00 Kč</td></tr><tr><td style="width: 150px;" class="jidelnicek_druhy_jidel">Bezmasé jídlo - večeře č.4</td><td style="width: 450px;">Pečený lilek na másle, vařené brambory A:7<br />cena 38.00 Kč / 68.00 Kč</td></tr> |
||
anonymníí Profil * |
#6 · Zasláno: 7. 12. 2015, 16:33:57
Woo:
A kde je tedy chyba? Vždyť v odpovědi ta HTML data máš... Co více bys chtěl? |
||
Keeehi Profil |
No, takže to poběží na jiné doméně -> javascriptem to nenačtete, jedině by student.czu.cz začal posílat hlavičku
Access-Control-Allow-Origin: htt>p://kit.pef.czu.cz .
Takže jediné co zbývá to tunelovat skrz PHP. Tedy pomocí PHP odešlete stejný požadavek jako na tom obrázku výše. Jelikož je to však schované za prohlášením, tak musíte nejdříve poslat požadavek stejný jako při přihlašování, obdržíte cookie PHPSESSID a tu použijete v druhém požadavku. |
||
Woo Profil |
#8 · Zasláno: 7. 12. 2015, 17:11:48
Keeehi:
ah tak, děkuju moc :) |
||
Chamurappi Profil |
#9 · Zasláno: 7. 12. 2015, 18:05:52
Reaguji na Keeehiho:
„takže to poběží na jiné doméně -> javascriptem to nenačtete“ Kdyby použil JSONP, jak naznačoval úvodní příspěvek, tak může načítat z libovolné domény, protože pak to de facto není AJAX, ale externí JS. Ale i to pochopitelně vyžaduje spolupráci ze strany serveru, kde jsou data – výstup se musí upravit, aby byl jako volání JS funkce. |
||
Časová prodleva: 9 let
|
0