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); } });
帮助将不胜感激
您遇到了跨域策略问题,导致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>
为什么这个工作?
- 现在,AJAX发送一个简单的GET请求到
grabber.php
页面, -
grabber.php
呼应所需的内容 - 现在的内容是在你的(服务器)域!
- 和AJAX很高兴为您服务:)
你是否试图在不同的域上加载页面?
如果是,那么看起来你有一个跨域的政策,在你的方式…