From 9e7e74bc7dde12a64a9ccd497a894f890a8a60e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Brecher?= <34324008+mildabre@users.noreply.github.com> Date: Fri, 7 Apr 2023 16:32:01 +0200 Subject: [PATCH] Add info - creating ajax request in the browser (#990) --- application/cs/ajax.texy | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/application/cs/ajax.texy b/application/cs/ajax.texy index ac3792e0b6..4f82257d15 100644 --- a/application/cs/ajax.texy +++ b/application/cs/ajax.texy @@ -10,10 +10,14 @@ Moderní webové aplikace dnes běží napůl na serveru, napůl v prohlížeči -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 +================= 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. +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()`. + Pro odesílání dat prohlížeči ve formátu JSON lze využít předpřipravený objekt `payload`: ```php @@ -60,6 +64,21 @@ npm install naja ``` +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`: + +```html +Go + +
+ +
+ +// nebo +
+ +
+``` + Snippety ========