AJAX обновить div без создания частичного - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть страница:

title = "page"
url = "/page"
layout = "default"
==
function onTest()
{
    $this['result'] = 'Test string';
}
==

<!-- AJAX enabled form -->
<form data-request="onTest" data-request-update="mypartial: '#myDiv'"></form>

<!-- Result container -->
<div id="myDiv"></div>

После отправки формы я могу получить переменную «result» только в частичном «mypartial», где код: Here is {{ result }}.И этот код вставляется в # myDiv.

Как получить переменную «result» без создания частичного?Зачем мне создавать .htm файл (частичный) для каждого маленького AJAX-запроса?

1 Ответ

0 голосов
/ 08 декабря 2018

Полагаю, вы можете легко обновить свой div с идентификатором myDiv со стороны сервера.

Вам просто нужно нажать на разметку с правильным идентификатором #myDiv, она автоматически обновит Html Element with given ID.[ нам не нужно запрашивать частичное или нужно частичное ]

title = "page"
url = "/page"
layout = "default"
==
<?php
function onTest()
{
    $result = 'Test string';    
    return ['#myDiv' => 'New Result: ' . $result]; 
}
?>
==
<!-- AJAX enabled form -->
<form data-request="onTest">
    <button type="submit">Submit Fire Ajax</button>
</form>

<!-- Result container -->
<div id="myDiv">old result</div>

После successful Ajax разметка запроса для myDiv будет

<div id="myDiv">New Result: Test string</div>

Хорошо, вам не нужно писать javascript для обновления myDiv как часть октябрьского фреймворка Ajax, он будет автоматически искать #myDiv и обновлять свою разметку.

Когда вы возвращаете массив для Ajax api октября Cms

return ['#myDiv' => 'Hello'];

На стороне клиента он будет автоматически искать элемент с идентификатором myDiv и, если он его найдет, онобновит его с заданной разметкой при успешном запросе Ajax, для этого примера это Hello

Если есть сомнения, прокомментируйте.

...