Программирование

Pjax перезагрузка всей страницы

Всем . Сегодня у нас речь пойдет про .

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

Это происходит потому, что у Pjax есть свойство , который установлен в дефолтном значении в 1000мс или 1 сек.

Так как часто происходят моменты касающиеся данного момента, хотел бы сделать некоторый комментарий.

В документации есть честкое определение данного свойства $timeout.

<?
...
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class Pjax extends Widget
{
...
/**
     * @var int pjax timeout setting (in milliseconds). This timeout is used when making AJAX requests.
     * Use a bigger number if your server is slow. If the server does not respond within the timeout,
     * a  load will be triggered.
     */
    public $timeout = 1000;
...
}
?>

В к Pjax об этом четко прописано:

Этот таймаут используется при выполнении запросов AJAX.
Используйте больший номер, если ваш сервер работает медленно. Если сервер не отвечает в течение таймаута, будет запуще полная загрузка страницы.

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

Она должна исправить ситуацию с перезагрузкой полной страницы.

Если вы точно не уверены, какое значение timeout установить, вы можно присвоить значение timeout как false.
И ваша проблема с полной перезагрузкой страницы должна исправиться.

$(function(){
   $.pjax.reload({ container : "#grid", timeout: false}); //Reload 
});

Всем удачи!

Бурдильен пер. Полонского Ночь смотрит тысячами глаз, А день глядит одним. Но солнца нет - и по земле Тьма стелется, как дым. Ум смотрит тысячами глаз, Любовь глядит одним. Но нет любви - и гаснет жизнь, И дни плывут, как дым.

Добавить комментарий

Войти с через: 

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Защита от роБота * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.