Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add info - creating ajax request in the browser #990

Merged
merged 2 commits into from
Apr 7, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion application/cs/ajax.texy
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,24 @@ Moderní webové aplikace dnes běží napůl na serveru, napůl v prohlížeči

</div>

AJAXový požadavek lze detekovat metodou služby [zapouzdřující HTTP požadavek |http:request] `$httpRequest->isAjax()` (detekuje podle HTTP hlavičky `X-Requested-With`). Uvnitř presenteru je k dispozici "zkratka" v podobě metody `$this->isAjax()`.
AJAXový požadavek
=================

V prohlíčeči vytvoření ajaxového http požadavku zajistí javascriptová knihovna Naja. Aby se z obyčejného http požadavku (signál odkazu, odeslání formuláře, ...) vytvořil ajaxový požadavek, je potřeba označit příslušný odkaz (formulář, odesílací tlačítko formuláře):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Odkaz na Naja která je na stránce odkázaná o kousek níž?

Copy link
Contributor Author

@mildabre mildabre Apr 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Já sám jsem se zde na chvilku zaseknul, protože jsem se nedočetl jak se ajaxový požadavek vytvoří, ale napadlo mě si to v odkazu na Naja najít. Syn, který byl na školení Nette a znal odtamtud a href=".." class="ajax" ale nevěděl jak odeslat ajaxově formulář, hledal to v dokumentaci, ale nenapadlo ho jít do odkazu Naja. Sám na to nepřišel, podobně i druhý syn se také zasekával na podobných drobnostech.

Přijde mě logické, když se začne mluvit o zpracování ajaxového požadavku dát před to dvě-tři věty jak ajaxový požadavek vznikne. Aby v odstavci v úvodu byly tyto informace pohromadě.

Druhou možností je přesunout vzorek kódu který jsem poslal do sekce o knihovně Naja.

Copy link
Contributor

@mabar mabar Apr 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Já tím myslel, že by to chtělo prolinkovat vytvořením odkazu na kapitolu o Naja. Důvod chápu.


```php
<a n:href="go!" class="ajax">Go</a>

<form n:name="form" class="ajax">
<input n:name="submit">
</form>

<form n:name="form">
<input n:name="submit" class="ajax">
</form>
```

Na straně serveru lze AJAXový požadavek detekovat metodou služby [zapouzdřující HTTP požadavek |http:request] `$httpRequest->isAjax()` (detekuje podle HTTP hlavičky `X-Requested-With`). Uvnitř presenteru je k dispozici "zkratka" v podobě metody `$this->isAjax()`.

AJAXový požadavek se nijak neliší od klasického požadavku - je zavolán presenter s určitým view a parametry. Je také věcí presenteru, jak bude na něj reagovat: může použít vlastní rutinu, která vrátí nějaký fragment HTML kódu (HTML snippet), XML dokument, JSON objekt nebo kód v JavaScriptu.

Expand Down