Здравствуйте! Подскажите пожалуйста в моей проблеме. Есть скрипт:
(function ($) {
var $categoryProducts = $('#ajax-content');
$('body').on('click', 'a', function(e){
console.log($(this).attr('href'));
e.preventDefault();
History.pushState(null, document.title, $(this).attr('href'));
});
function loadPage(url) {
$('#container').css({opacity: 0.5});
setTimeout(function() {
//$categoryProducts.load(url + " #ajax-content > *",function(){
//$('#container').css({opacity: 1});
//});
$.ajax({
url: url + '&ajax=1',
dataType : "html",
type: 'get',
cache: false,
success: function(data){
$categoryProducts.html(data);
$('#container').css({opacity: 1});
}
});
},1000);
}
History.Adapter.bind(window, 'statechange',function(e){
var State = History.getState();
loadPage(State.url);
});
})(jQuery);
Он подгружает контент без перезагрузки страницы, но он подгружает полностью всю страницу (вместе с head), а мне нужно получить только нужный контент. Как это сделать без использования php?
При использовании для подгрузки:
$categoryProducts.load(url + " #ajax-content > *",function(){
$('#container').css({opacity: 1});
});
вместо:
$.ajax({
url: url + '&ajax=1',
dataType : "html",
type: 'get',
cache: false,
success: function(data){
$categoryProducts.html(data);
$('#container').css({opacity: 1});
}
});
Все подгружается как надо, но не работают скрипты в подгружаемом контенте. Подскажите может нужно что то включить что бы при получении $.ajax данных они как то склеивались с уже существующим или удалялось все лишнее. Или подскажите почему не работают скрипты при использовании .load() и как их заставить заработать. Не знаю как объяснить поэтому спрашивайте объясню подробнее. Помогите уже 4 дня бьюсь, гугл не объясняет или я не знаю как искать.