Autor | Zpráva | ||
---|---|---|---|
janharvalik Profil * |
dobrý den,
mělo by to fungovat jako našeptávač ale nevím jak na to. v AJAXu se vážně nevyznám. pozadíte mi ? |
||
Davex Profil |
#2 · Zasláno: 28. 8. 2010, 19:00:24
Na této diskusi je několik zajímavých řešení:
• funkce našeptávač • Problém s našeptávačem (diakritika) • jak na našeptávač |
||
janharvalik Profil * |
#3 · Zasláno: 29. 8. 2010, 00:01:35
děkuji, vím že návodu je spoustu, ale já nemůžu pochopit jak spolu js a php komunikují.
všude se píše "na pozadí" ale já bych potřeboval něco více polopatě. |
||
joe Profil |
#4 · Zasláno: 29. 8. 2010, 00:09:44
Ze stránky v nějakém textovém políčku, se po jeho změně odešlě díky JavaScriptu požadavek na server například na adresu example.com/suggest?what=value, kde value je hodnota z textového pole.
Server vrátí data v nějakém formátu čitelném pro JavaScript, například JSON, data jsou tedy vrácena a v JavaScriptu se musí zase projít a pak nabídnout uživateli. Jak spolu komunikuje JS a PHP? Stačí hledat "ajax". |
||
_es Profil |
#5 · Zasláno: 29. 8. 2010, 00:10:40 · Upravil/a: _es
janharvalik:
„děkuji, vím že návodu je spoustu, ale já nemůžu pochopit jak spolu js a php komunikují.“ JS a PHP žiadnu špeciálnu komunikáciu spolu nemajú. PHP je serverový jazyk - generuje výstup pre klienta. A JS je jazyk fungujúci na klientovi, umožňujúci napríklad posielať požiadavky na server pomocou objektu XMLHttpRequest alebo aj inými spôsobmi. |
||
tiso Profil |
#6 · Zasláno: 29. 8. 2010, 00:13:33 · Upravil/a: tiso
janharvalik: no ako by som ti to… Existuje protokol http, a máme server a prehliadač (=klient). Naťukáš do prehliadača adresu, ten vyšle požiadavku na server, ten zistí že treba vykonať nejaký php súbor, tak ho vykoná a jeho výstup začne posielať ako dáta na klienta, klient zistí že na stránke je odkaz na nejaký css súbor, js súbor, nejaké obrázky, …, tak vyšle ďalšie požiadavky na server, ten mu ich pošle. Stránka sa medzičasom postupne zobrazuje v prehliadači, až sa načíta všetok obsah ktorý treba a zobrazí. A tu zrazu nejaký Janko začne písať do políčka vo formuláry nejaký text. Lenže nato zareaguje javaskript a pošle požiadavku na server na nejaký úplne iný php skript, server ho vykoná a pošle výsledok ako dáta javaskriptu. Ten s nimi nečo zaujímavé porobí a urobí nejakú zmenu stránky v prehliadači (zobrazí našeptávacie možnosti). A to sa opakuje kým Janko ťuká do políčka ďalšie a ďalšie písmenká, až kým naťuká čo chcel, alebo kým si nevyberie niektorú z ponúkaných možností.
Stačí takto? |
||
janharvalik Profil * |
#7 · Zasláno: 29. 8. 2010, 00:25:51
tiso:
„Lenže nato zareaguje javaskript a pošle požiadavku na server na nejaký úplne iný php skript,“ O to mi právě jde, jak to udělá. děkuji za obsáhlou odpověd' :D |
||
tiso Profil |
#8 · Zasláno: 29. 8. 2010, 00:32:59
janharvalik: „O to mi právě jde, jak to udělá.“
To už je iná rozprávka, po tejto si mal ísť ľahnúť a spať :-) |
||
janharvalik Profil * |
#9 · Zasláno: 29. 8. 2010, 00:39:02
tiso:
„A tu zrazu nejaký Janko začne písať do políčka vo formuláry nejaký text.“ Janko ? :-) vysvětlíte mi prosím jak se ten text dostane do té funkce a zpět výsledek ? :-) |
||
_es Profil |
#10 · Zasláno: 29. 8. 2010, 00:51:35
janharvalik:
„vysvětlíte mi prosím jak se ten text dostane do té funkce a zpět výsledek ? :-)“ Môžeš začať trebárs odkazom v mojom príspevku. |
||
janharvalik Profil * |
#11 · Zasláno: 29. 8. 2010, 01:13:40
jj byl jsem tam, ale ty články jsou mo obecné nebo příliš odborné.
jak jsem již napsal, potřebuji to polopatě. |
||
_es Profil |
#12 · Zasláno: 29. 8. 2010, 01:20:21
janharvalik:
„jak jsem již napsal, potřebuji to polopatě.“ Nemôžeš čakať, že ti tu bude niekto "polopate" v jednej téme vysvetľovať celú syntax JavaScriptu, rôzne objekty DOM a iné objekty JS v prehliadači, syntax PHP, … |
||
janharvalik Profil * |
#13 · Zasláno: 29. 8. 2010, 02:15:41
ne to nemusí, mě stačí když mi vysvětlíte, jak se ten text dostane do té funkce a zpět výsledek.
|
||
_es Profil |
#14 · Zasláno: 29. 8. 2010, 09:04:13
janharvalik:
„stačí když mi vysvětlíte, jak se ten text dostane do té funkce a zpět výsledek.“ Tá otázka sa dá rozdeliť na drobné: 1) Nájdi si niečo o prístupe k elementom formulára cez JS. 2) Nájdi si niečo o objekte XMLHttpRequest v JS. 3) Nájdi si niečo o funkciách v PHP a o tom, ako sa dajú prečítať parametre get a post v PHP. |
||
Nox Profil |
#15 · Zasláno: 29. 8. 2010, 09:27:58
janharvalik:
V naprosto zjednodušené formě je AJAX prostě javascriptový příkaz, který poprosí o načtení nějaké stránky a vezme si její výstup. Stránka se načte stejně jako by si ji zadal do prohlížeče, pak by sis otevřel zdroják a zkopíroval si ho Ono se můžeš dotazovat na cokoli, třeba html, txt. časté použití je chtít php soubor, který často (buď nikdy nebo s url parametrem který v JS zadáš) neobsahuje klasický vzhled (html, css) jako ostatní tvoje stránky, ale pouze provede nějakou akci a případně vyplivne nějaký výsledek Např. JS -(AJAX)-> http://example.com/skript.php - skript smaže v databázi staré zprávy a pomocí echo vypíše aktuální -> tento výstup je k dispozici v JS proměnné mj. často se používá ke komunikaci JSON, tzn. PHP to vypíše ve formátu jaký JS používá pro pole a objekty a v JS to pak budeš mít jako takovouto funkční strukturu a ne celé v řetězci... myslim že to ale není samo od sebe, buď v tomto pomůže knihovna (jQuery...) nebo jakási konstrukce o které se pokud vím mluví tady http://paulirish.com/2010/10-things-i-learned-from-the-jquery-source/ (mj. zajímavý video) |
||
janharvalik Profil * |
#16 · Zasláno: 30. 8. 2010, 00:14:38
Nox:
děkuji vám za pomoc, moc jste mi pomohl. |
||
Chamurappi Profil |
#17 · Zasláno: 30. 8. 2010, 00:24:39
Reaguji na Noxe:
„myslim že to ale není samo od sebe“ Je. V tom je právě to kouzlo JSONu, nepotřebuje žádný další parser. |
||
Časová prodleva: 14 let
|
0