外部のウェブサイトから単一のページをロードすることは可能ですか?
単一のページを表示しようとしていますが、機能しないようです
$("#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);
}
});
助けていただければ幸いです
クロスドメインポリシー問題の原因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>
なぜこれが機能するのですか?
grabber.php
ページに単純なGETリクエストを送信しています。grabber.php
は目的のコンテンツをエコーします別のドメインのページを読み込もうとしていますか?
はいの場合、途中でクロスドメインポリシーを取得しているようです...