jQuery的负载外部网站页面(jQuery load external site page)

2019-07-20 06:38发布

是否有可能从外部网站加载一个页面?

我想显示一个页面,但似乎无法得到它的工作

$("#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);
   }
 });

帮助将不胜感激

Answer 1:

您正在运行到一个跨域策略问题的原因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是竭诚为您服务:)


Answer 2:

你们是不是要在不同的域加载页面?

如果是的话,好像你有你的方式跨域策略...



文章来源: jQuery load external site page
标签: jquery load