jQuery 加载外部站点页面

标签 jquery load

是否可以从外部网站加载单个页面?

我试图显示一个页面,但似乎无法让它工作

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

关于jQuery 加载外部站点页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999573/

相关文章:

javascript - jQuery :selected not not working

javascript - JQuery/PHP 动态下拉问题

javascript - 在多个事件上触发函数

javascript - 在 JQuery 中构建 div 结构并追加到另一个 Div

javascript - HTML jQuery .load() 不工作

javascript - 强制外部 javascript 文件(来自 Digg、Reddit)最后加载

javascript - 如何使用 javascript 或任何 JS 库关闭 filePicker 的窗口?

jquery - 每个 Div 加载时淡入多个 Div

java - Java类如何从同一目录加载?

javascript - jQuery 加载的异步和就绪函数不起作用