Контент подменяемых данных может быть полной страницей или частичной, библиотека сама находит нужный блок из ответа и делает $.replaceWitch иначе обновляет указанный контейнер полностью.
+ парсит отуда title если есть также обновляет в месте URL
jquery.pjax.js
jQuery(document).pjax("#content a", "#content", {"push":true,"replace":false,"timeout":1000,"scrollTo":false});
jQuery(document).on('submit', "#content form[data-pjax]", function (event) {jQuery.pjax.submit(event, '#content', {"push":true,"replace":false,"timeout":1000,"scrollTo":false});});
Лучше всего отдать только то что нужно обновить в указном блоке экономит время. но там реализация через ob_start ob_end_*