可以从外部网站加载单个页面吗?
$("#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正在向grabber.PHP页面发送一个简单的GET请求,> grabber.PHP回应所需的内容>现在的内容是在你的(服务器)域!>而AJAX很乐意为您服务:)