您遇到了跨域策略问题,因为 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 很高兴为您服务 :)