Skip to content

Commit 9e7e74b

Browse files
mildabredg
authored andcommitted
Add info - creating ajax request in the browser (#990)
1 parent 4d86b67 commit 9e7e74b

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

application/cs/ajax.texy

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,14 @@ Moderní webové aplikace dnes běží napůl na serveru, napůl v prohlížeči
1010

1111
</div>
1212

13-
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()`.
13+
14+
AJAXový požadavek
15+
=================
1416

1517
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.
1618

19+
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()`.
20+
1721
Pro odesílání dat prohlížeči ve formátu JSON lze využít předpřipravený objekt `payload`:
1822

1923
```php
@@ -60,6 +64,21 @@ npm install naja
6064
<script src="https://unpkg.com/naja@2/dist/Naja.min.js"></script>
6165
```
6266

67+
Aby se z obyčejného odkazu nebo formuláře vytvořil AJAXový požadavek, stačí označit příslušný odkaz, formulář nebo tlačítko třídou `ajax`:
68+
69+
```html
70+
<a n:href="go!" class="ajax">Go</a>
71+
72+
<form n:name="form" class="ajax">
73+
<input n:name="submit">
74+
</form>
75+
76+
// nebo
77+
<form n:name="form">
78+
<input n:name="submit" class="ajax">
79+
</form>
80+
```
81+
6382

6483
Snippety
6584
========

0 commit comments

Comments
 (0)