Не очень понятны вопросы. Сервер в любом случает отдает статику, включая js. Отданная сервером информация загружается в браузер, скрипты выполняются по заданному событию опять же в браузере.
Иными словами:
Сервер:
<p>Lorem ipsum</p>
<?php
$a= 2;
echo $a * 2;
?>
В браузере:
Lorem ipsum
4
Механика переключения страниц в общем виде выглядит так:
<div id = "page">
......
</div>
<a id="new-page">Следующая страница</a>
<script>
$("a#new-page").on("click", function(){
$(this).preventDefault();
$.ajax(
url: url_обработчика на сервере, // сервер возвращает data === т.е. содержимое новой страницы
{
action: "new_page"
},
success: function( data ){
$("#page").html(data);
}
)
})
</script>
На сервере:
<?php
if ( $_POST['action'] == "new_page") {
// формируем содержимое страницы:
$page = "<p>Some content</p>";
echo $page;
}
?>
Вуаля! Содержимое страницы обновилось без епергрузки!