@drtvader
Вечный студент

Как осуществить ajax загрузку контента?

Каким образом осуществить загрузку через AJAX для большого количества страниц из разных папок?
Вот например проект:
1. Index.html
2. template/
product.html

Скрипты, которые находил в сети не хотят работать.


$('.loot').live("click", function(){
 var loaderImg = "<img src='loader.gif' alt='загрузка...' />"; // картинка до загрузки
 var url = $(this).attr("href"); // получаем значение атрибута href ссылки
 var rel = 'div#'+$(this).attr("rel"); // получаем значение атрибута rel ссылки
 $("div#thief").html(loaderImg).html(function(){
            var a=loaderImg;
            $.ajax({ // запрашиваем данные со страницы-донора
                url:url,
                dataType:"html",
                async:false,
                success:function(b){a=$(b).find(rel)},  // извлекаем html из нужного элемента (в примере <div id="victim">)
                error:function(){alert("Ajax!Ошибка.")}
                });
                return a
 });
 $("div#thief").fadeIn('fast'); // отображаем блок, если он был скрыт
 return false;
});

Вот в этом скрипте ругается на Uncaught TypeError: $(...).live is not a function
Как я понял, для вызова нужно использовать <div id="victim">2222 </div>
А на странице, на которой загружать вот это
<div class="content"> <div id="thief">
       1111
    </div>
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
@bIbI4k0
Питоню
функция live признана устаревшей с jquery 1.7, а у вас, полагаю, либа посвежее:
As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().


Используйте .on('click', function() { ... });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы