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);
}
});
спасибо
2 ответов
тебя кросс-доменной политики причина проблемы 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 рад служить вам :)
вы пытаетесь загрузить страницу в другом домене?
Если да, то, похоже, у вас есть междоменная политика на вашем пути...