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很高兴为您服务:)

你是否试图在不同的域上加载页面?

如果是,那么看起来你有一个跨域的政策,在你的方式…