Подтвердить что ты не робот

Загрузка внешней страницы jQuery

Можно ли загрузить одну страницу с внешнего веб-сайта?

Я пытаюсь показать одну страницу, но не могу заставить ее работать

$("#response").load("http://domain.com", function(response, status, xhr) {
   if (status == "error") {
      var msg = "Sorry but there was an error: ";
      alert(msg + xhr.status + " " + xhr.statusText);
   }
 });

Помощь будет принята с благодарностью

4b9b3361

Ответ 1

Вы столкнулись с проблемой политики междоменной политики, поскольку AJAX (по соображениям безопасности) не позволит вам захватывать контент со страницы, которая не находится в одном домене.

Чтобы избавиться от него и выполнить свою задачу:
вам нужен PHP файл, который вы можете вызвать grabber.php только с этой строкой PHP:

<?php echo file_get_contents($_GET['url']); ?>

Чем внутри вашего html (или любой другой файл просто нравится:)

<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <meta charset=utf-8 />
    <title>test</title>
</head>
<body>

    <div id="response"></div>

</body>

<script>
$(function(){
    var contentURI= 'http://domain.com #element';    // URL TO GRAB + # of any desired element // if needed :)
    $('#response').load('grabber.php?url='+ contentURI);
});
</script>

</html>

Почему это работает?

  • теперь AJAX отправляет простой запрос GET на страницу grabber.php,
  • grabber.php отображает желаемый контент
  • теперь содержимое находится на вашем домене (сервере)!
  • и AJAX рад вас обслужить:)

Ответ 2

Вы пытаетесь загрузить страницу в другом домене?

Если да, то, похоже, на вашем пути вы получили междоменную политику...