Обычно я думаю, что вы использовали JQuery. Это было бы проще. https://jquery.com
Вам понадобится back-end, который должен возвращать только часть вашей страницы (которую необходимо загрузить). Или использовать (не рекомендуется) $ .load
http://api.jquery.com/load/
Если у вас есть фоновые, который возвращает часть вашей страницы:
var $container = $('#container'); // It's a block that will be used for content displaying
// Renderring content
function renderPage(response) {
// Wrapped content hidden by default
var $content = $('<div style="display: none">' + response + '</div>');
// Then clear current content
$container.find('*').remove();
// Then append our response and fade it to display
$content.appendTo($container).stop(true, true).fadeIn(300);
}
// Loading page
function loadPage(url, params) {
$.get(url, (params||{}), renderPage);
}
// Adding handler
function go(e) {
loadPage($(e).attr('href'));
return false;
}
И тогда в ваших товарах:
<ul>
<li><a href="/some/page.html" onclick="return go(this);">Page</a></li>
</ul>