Ajax

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
Никита096
Сообщения: 28
Зарегистрирован: 2017.02.01, 17:23

Ajax

Сообщение Никита096 » 2017.03.20, 17:03

Добрый вечер.
Вопрос даже скорее не по фреймворку, а вообщем про технологию.
Присутствует некоторое затруднее или скорее недопонимание.


Ситуация:
Есть форма submit допустим, добавление юзеров.
При отправке сделал ассинхронное добавление в бд, с этим все нормально.
Но ниже мне нужно после отправки сразу же вывести кое-какой html код, в котором должен быть список пользователей.
Крч добавил пользователя, список внизу - обновился.

Не могу понять что рендерить в ответ аяксу. renderAjax рендерит все представление без шаблона, а каким образом можно срендерить только тот список, который снизу? Виджет?
Последний раз редактировалось Никита096 2017.03.20, 19:38, всего редактировалось 1 раз.

Аватара пользователя
Alexum
Сообщения: 673
Зарегистрирован: 2016.09.26, 10:00

Re: Ajax

Сообщение Alexum » 2017.03.20, 17:21

Можно список отображать внутри контейнера pjax. В случае успешного ajax-запроса вызывать $.pjax.reload({container:'#pjaxContId'});.

Никита096
Сообщения: 28
Зарегистрирован: 2017.02.01, 17:23

Re: Ajax

Сообщение Никита096 » 2017.03.20, 17:28

Alexum писал(а):
2017.03.20, 17:21
Можно список отображать внутри контейнера pjax. В случае успешного ajax-запроса вызывать $.pjax.reload({container:'#pjaxContId'});.
Ну да, это как вариант.
Правда хотелось бы все-таки на чистом ajax усвоить метод

Аватара пользователя
Alexum
Сообщения: 673
Зарегистрирован: 2016.09.26, 10:00

Re: Ajax

Сообщение Alexum » 2017.03.20, 17:58

В ответ на ajax-запрос можно генерировать на стороне сервера HTML код, джаваскриптом вставлять его в нужный див ($(селектор).html(data)). Но ИМХО в вашем примере список проще вывести виджетом GridView, обёрнутым в pjax.

Никита096
Сообщения: 28
Зарегистрирован: 2017.02.01, 17:23

Re: Ajax

Сообщение Никита096 » 2017.03.20, 18:38

Alexum писал(а):
2017.03.20, 17:58
В ответ на ajax-запрос можно генерировать на стороне сервера HTML код, джаваскриптом вставлять его в нужный див ($(селектор).html(data)). Но ИМХО в вашем примере список проще вывести виджетом GridView, обёрнутым в pjax.
Да я понимаю.
Интересно именно как срендерить на стороне сервера html код того списка, а не все представление.

Аватара пользователя
Alexum
Сообщения: 673
Зарегистрирован: 2016.09.26, 10:00

Re: Ajax

Сообщение Alexum » 2017.03.20, 19:19

Ну сделайте отдельное представление, которое только ваш список рендерит.

Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Ajax

Сообщение Onotole » 2017.03.20, 19:20

Не придумывайте трудностей. Делайте с pjax

Никита096
Сообщения: 28
Зарегистрирован: 2017.02.01, 17:23

Re: Ajax

Сообщение Никита096 » 2017.03.20, 19:22

Alexum писал(а):
2017.03.20, 19:19
Ну сделайте отдельное представление, которое только ваш список рендерит.
Логично:D

Никита096
Сообщения: 28
Зарегистрирован: 2017.02.01, 17:23

Re: Ajax

Сообщение Никита096 » 2017.03.20, 19:28

Onotole писал(а):
2017.03.20, 19:20
Не придумывайте трудностей. Делайте с pjax
Окей

Закрыто