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
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 *
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
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
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
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 *
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
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 *
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
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 *
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
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 *
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
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
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 *
Nox:


děkuji vám za pomoc, moc jste mi pomohl.
Chamurappi
Profil
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0