Autor Zpráva
Jakub0916
Profil *
Dobrý den, poradí mi někdo jak správně používat ajax?
Momentáně vše řeším tak, že ze serveru vracím kód který zpracovávám evalem.
Jak to funguje, když chci ze serveru vrátit třeba validaci formuláře (jinak než tím evalem)?
Musím pro každou akci napsat funkci a ze serveru vracet třeba jen "ok","nok","fail",...?
Ve valné většině appek vidím, že vratka ze serveru je json. To tedy znamená, že pro danou odpověď musí být na straně prohlížeče kód který ji očekává?
Nebo také často vidím PUT, ale ten nemá zpětnou odpověď ze serveru, je to tak? Jak to řeší při něm?
Děkuji :)
Keeehi
Profil
Jakub0916:
Základem je využívat stavů. Pokud to dopadne na serveru správně, tak stavový kód zpět je 200. Pokud je něco špatně, tak většinou 4xx. Tím se rozlišuje úspěch a neúspěch. Ne obsahem. Obsah pak už jen slouží k poslání dalších informací. Například pokud to selže tak obsah chybové hlášky co se má uživateli zobrazit.
Máš pravdu, že se často posílá json. Je to formát vhodný pro posílání dat. A ano, nedá se v něm "definovat chvání". To co se má s těmi daty stát je definované v obsluze toho ajaxu. Tudíž ano, na straně prohlížeče musí být kód který ta data očekává a nějak je zpracuje.
Co se PUT týče, tak to se používá "nahrávání nějakých dat". Pokud to dopadne dobře, není většinou potřeba nic zpět posílat za data. To jestli to dobře dopadlo se určuje právě stavovým kódem 200. Proto je odpověď "prázdná". Tělo sice prázdné je ale veškeré potřebné informace jsou obsažené v hlavičkách.

Přečti si něco o RESTu, bude ti vše pak snad mnohem jasnější.
breeta
Profil
Vše o AJAXU nalezneš tady co se týče využití, můžeš posílat cokoliv jak bez něj.
Pokud chceš udělat nějakou JS apku tak se používá nejčastěji JSON data.
Ale pokud to chceš jen k odeslání formuláře převezmeš s JS data s form a pak je odešleš přes POST ajaxem a vrátí se ti výsledek ze serveru který nastavíš.
Může být rovnou html, které dosadíš s js do html stránky.
Jakub0916
Profil *
Paráda, moc děkuji za informace. :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0