Артём Мáлков

Подгрузка информации с другой страницы сайта на jQuery

23 сен18 комм

Предположим, что на странице вашего сайта вы создали блок, например, таблицу цен от разных поставщиков. И стоит задача вывести эту таблицу на определенных страницах.

Можно это сделать обычным «копировать – вставить», но что если таких страниц у вас 20 или 50? Вроде бы ничего, и найти время на эту работу можно. Но как вдруг один поставщик меняет цену – соответственно, вам нужно поменять эту цену на 50 страницах, и так каждый раз.

А можно сделать куда проще и создать эту таблицу 1 раз, а затем на нужных страницах подгружать ее с помощью специального скрипта. Таким образом, мы вносим правку в 1 страницу, а изменения вносятся во всех 50. По-моему, очень удобно.

Перейдем теперь к технической части.

Для того чтобы подгрузить информацию с нужной станицы вашего сайта, необходимо воспользоваться следующим кодом:

<div id="result">Загрузка...</div>

<script>

	$(function() {
	
		$.get("/audio", function(data) {
		
			var content = $(".content", data).html();
			
			$("#result").html(content);
			
		});
		
	});
	
</script>

Здесь «/audio» – адрес страницы, откуда необходимо грузить данные, «#result» – идентификатор, куда нужно грузить эти данные, и «.content» – идентификатор того, что именно нам нужно получить с указанной страницы.

Для отдельных случаев скрипт можно немного доработать и сделать проверку на то, получили ли мы какую-нибудь информацию с указанной страницы или нет:

<script>

	$(function() {
	
		$.get("/audio", function(data) {
		
			var content = $(".content", data).html();
			
			if(content == undefined) {
			
				$("#result").html("Нет информации для загрузки :(");
				
			} else {
			
				$("#result").html(content);
				
			}
			
		});
		
	});
	
</script>

В таком случае при отсутствии загруженных данных с указанной страницы мы получим соответствующее уведомление.

Рекомендуем к просмотру
Как записать данные в Excel-таблицу на PHP?
Статьи и советы
Как сделать кроссдоменный AJAX–запрос?
Статьи и советы
Кнопка «Наверх» с плавной прокруткой страницы для сайта на jQuery
Модули и скрипты
18
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 2
    1066
      •  Команда Pandoge
    21 апр в 00:11

    Артем, да, на PHP.

    • 1
    5
      •  Проверенный
    20 апр в 23:54

    Спасибо. Получилось. Скажите а есть возможность получить таким образом информацию с другого сайта?

    • 1
    1066
      •  Команда Pandoge
    18 апр в 15:56

    Артем, начнем с того, что у Вас там куча ошибок.

    1. Я видел несколько пар секции HEAD и HTML, а должно быть по одной паре на всю страницу.

    2. Далее, у Вас нет страницы /kontakty, а есть /kontakty/. Но это мелочи.

    3. На странице /kontakty нет элемента с классом .content, который вы пытаетесь получить, но есть с таким ID. То есть строку:

    var content = $(".content", data).html();

    Вы заменяете на:

    var content = $("#content", data).html();

    Проделав все шаги, я уверен на 100%, что у Вас заработает все как надо. glass

    • 1
    5
      •  Проверенный
    18 апр в 13:38

    Артем вот http://cg14376-bitrix.tw1.ru/registratsiya-biznesa/registratsiya-kfkh/

    • 1
    1066
      •  Команда Pandoge
    17 апр в 22:29

    Артем, пришлите адрес сайта, где установлен скрипт.

    • 1
    5
      •  Проверенный
    17 апр в 20:42

    Почему то мой коммент не пропустили модераторы.

    • 1
    5
      •  Проверенный
    17 апр в 16:11

    В Битрикс jquery подгружается. В страницу пишу вот такой код, просто для примера. Вообще никакой реакции.

    <script>

    $(function() {

    $.get("/kontakty", function(data) {

    var content = $(".content", data).html();

    if(content == undefined) {

    $("#result").html("Нет информации для загрузки :(");

    } else {

    $("#content").html(content);

    }

    });

    });

    </script>

    • 1
    1066
      •  Команда Pandoge
    17 апр в 12:49

    Артем, что именно не получается?

    • 1
    5
      •  Проверенный
    17 апр в 04:57

    Пытаюсь вставить ваш кода в страницу битрикса, не выходит. Странно, казалось бы это просто.

    • 8
    1066
      •  Команда Pandoge
    21 апр в 00:57

    DarkShin, задумка интересная. Реализуем со временем.

    • 2
    766
      •  Гости
    20 апр в 17:22

    Очень полезный скрипт. Я пока как его запустить на дле для разных страниц не разобрался, видеть дает знать годовой отдых от дизайна )

    Но вот что мне напомнило это один скрипт который хотел вытащить с википедии очень нужный мне. Этот похоже или он или наподобие. Можно его доработать как на вики, когда наводишь и всплывает место или информация привязанная к ссылке?

    Чтобы можно было на разных страницах выводить свои привязки. Например актеры или герои аниме )

    • 1
    766
      •  Гости
    18 мар в 15:49

    Все теперь я все понял, огромное Вам спасибо) +

    • 9
    1066
      •  Команда Pandoge
    18 мар в 15:46

    forvard1993, кажется что вы плохо прочитали статью. Этот скрипт позволяет подгрузить с определенной страницы определенную информацию.

    /audio - откуда грузим;

    .content - что грузим, например, <div class="content ">Привет</div>

    #result - куда грузим. Этот элемент должен быть на той же странице где и скрипт и выглядеть должен примерно так: <div id="result"></div>

    Плюсом ко всему должна быть подключена библиотеки jQuery.

    • 1
    766
      •  Гости
    18 мар в 15:30

    Я только начинающий игрок, если вдруг не правильно объяснять буду, заранее извиняюсь)

    Я вставляю данный код на страницу main.tpl в созданный мною блок, хочу что бы показывало там страницу test.html , так ? Но у меня ничего не происходит

    • 6
    1066
      •  Команда Pandoge
    18 мар в 15:25

    forvard1993, вопрос не совсем корректный. Как использовать - решать Вам. А вот если вы столкнулись с какими то трудностями - об этом по подробнее. Какая цель, что делаете и что не получается.

    • 1
    766
      •  Гости
    18 мар в 15:20

    Можно подробней как использовать данную статью ? Потому что я не могу въехать, ничего не получается, подскажите пожалуйста

    • 7
    1066
      •  Команда Pandoge
    11 дек в 13:04

    Руслан, чуть позже посвятим этой теме отдельную статью.

    • 5
    766
      •  Гости
    10 дек в 14:50

    Интересно конечно,, а таким образом можно спарсить например новости кино с кинопоиска?

Подняться наверх
«Pandoge» - помощник вебмастера