Ответы пользователя по тегу Yii
  • Почему перезагружается страница, когда я перезагружаю только контейнер pjax?

    @sepetov Автор вопроса
    Программист Navision, программист PHP
    Причина оказалась в том, что pjax берёт данные с текущего url, если не указать явный. В моём случае нужные данные находятся в другом контроллере (не в том, который показывает это представление). Можно поменять так:
    let href = '/some/data';
    $.pjax.reload({container:'#data-grid-view', url:href, push:false});

    Это работает, но pjax игнорирует push = false, когда явно указан параметр url. Но это можно обойти так:
    $.pjax({
        url: '/some/data',
            container  : '#data-grid-view',
            push : false,
    });

    Как видно, вызывается $.pjax(), а не $.pjax.reload(), но работает как reload().
    Ответ написан
    1 комментарий
  • Как запретить pjax yii2 менять url?

    @sepetov
    Программист Navision, программист PHP
    Ну что? Спустя полгода ответ наверняка уже потерял актуальность, но я отвечу :-) Кому-то другому пригодится.

    Как я понял, $.pjax.reload() не любит, когда одновременно указаны url и push, второй параметр он игнорирует. Но можно не вызывать .reload() напрямую, а имитировать его поведение вот так:
    $.pjax({ // <<<=== нет вызова .reload()
            url : 'тут ваш url',
            container : '#ваш_id,
            push : false,
    });

    Остальные параметры - по вкусу. У меня работает и url не меняется.
    Ответ написан
    Комментировать