kimono
@kimono
Web developer

Поможете побороть «странное» поведение Pjax в YII2?

Есть GridView с колонкой действий, где кнопка Update вызывает модальное окно с pjax-формой для редактирования. На странице всё это раскидано примерно так:
<Pjax1>
  <GridView>
  </GridView>
</Pjax1>
...разная дрянь...
<Modal>
  <Pjax2>
    <Form></Form>
  </Pjax2>
</Modal>

Форма имеет атрибут data-pjax и отрабатывает нормально. По завершению работы обновляет пиджак для грида:
$('#pjax2').on('pjax:end', function(){
  $('#modal').modal('hide');
  $.pjax.reload('#pjax1');
});

Всё работает с одним странным багом: данные в гриде либо не обновляются (хотя в базе изменения идут), либо после апдейта одной строки из скажем 10 в грид загружается бывает 6 строк, бывает по-разному.
НО! Если открыть панель разработчиков хрома и включить слежение network с галочкой на "disable cache" - вуа-ля, всё работает как часы - всё меняется и все данные актуальны после любого апдейта любой строки.
Видимо что-то с кешем бразуера и пиджаком, как это побороть силами пиджака или самой юи?
PS: в другом месте простой GridView + Pagination + Pjax работает без косяков.
  • Вопрос задан
  • 501 просмотр
Пригласить эксперта
Ответы на вопрос 2
@karminski
Senior React.JS Developer
Вы пишите, что "в другом месте ... работает без косяков". Поиграйте в игру "найди 10 отличий".
Ответ написан
bitver
@bitver
Если вам мешает кэш - отключите его у pjax, в чем проблема?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы