kimono
@kimono
Web developer

YII2 и pjax. Как обновить один pjax после работы другого?

На странице есть Listvew обернутый в Pjax[id = list-pjax].
Также есть модальное окно Modal[id = my-modal], внутри которого есть форма обернутая в другой Pjax[id=form-pjax].
Также есть javascript следующего содержания:
$('#form-pjax').on('pjax:end', function(){
  $('#my-modal').modal('hide');
  $.pjax.reload('#list-pjax');
});

Открываю отладчик хрома, дергаю форму, она отрабатывает, данные посылаются на сервер, сервер их принимает и также все нормально отрабатывает (phpstorm + xdebug), но обновление Listview-pjax происходит из кеша браузера. Как заставить его обновляться с сервера?
PS: если во вкладке network панели для разработчиков хрома поставить disablecache то все работает без проблем.
  • Вопрос задан
  • 2522 просмотра
Решения вопроса 1
@matperez
Попробуйте так: $.pjax.reload('#list-pjax', {cache: false});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LAV45
Попробуйде воспользоваться в место Pjax , AjaxCreate

Этот виджет как раз помагает работать с мелкими формами в модальном окне. После успешного сохнанения формы обнавляет свой контэйнер.
Единственное на что придется изменить это Widget::$autoIdPrefix = 'x'; потому что id некаторых блоков в модальном окне могут пересекатся с теми что уже есть на странице и js будет не всегда корректно работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы