Pjax неверно меняет URL, после чего происходит ошибка сервера - PullRequest
0 голосов
/ 07 сентября 2018

На моей странице есть два контейнера pjax, которые загружаются из разных сценариев php после загрузки базовой страницы с третьей.

Pjax корректно изменяет атрибуты URL, пока не произойдет ошибка сервера.Обычно он изменяет только параметры получения, а другая часть URL-адреса одинакова (весь скрипт страницы), но когда появляется ошибка, он перенаправляет меня на страницу с именем скрипта, где была обнаружена ошибка.

Так что мои страницы в основном /page?a=1&b=2 но при ошибках url становится /part-of-page1?a=1&b=2 или /part-of-page2?a=1&b=2

Как мне сделать так, чтобы URL оставался таким же?

1 Ответ

0 голосов
/ 15 октября 2018

Я добавил блок try-catch, перехватывающий все возможные ошибки в обоих частичных контроллерах

Поэтому при обнаружении любой ошибки я показываю другой вид с сообщением об ошибке внутри блоков главной страницы.

Это предотвращает перенаправление на ошибки сервера, как я и просил

Кроме того, вы можете использовать следующий код для предотвращения изменения URL при любой ошибке pjax (это могут быть не ошибки сервера, а что-то вроде просмотра другой страницы во время загрузки данных)

  $(document).on('pjax:error', function(){
      return false;
  });
...