是否可以从外部网站加载单个页面?
我正在尝试显示单个页面但似乎无法使其正常工作
$("#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);
}
});
非常感谢帮助
答案 0 :(得分:22)
您遇到跨域政策问题导致AJAX(出于安全原因)不允许您从不在同一域中的网页抓取内容。
要摆脱它并完成你的任务:你需要一个PHP文件,你可以用这行PHP来调用grabber.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
回应所需的内容答案 1 :(得分:0)
您是否尝试在其他域上加载页面?
如果是,那么您的路上似乎有一个跨域政策......