javascript - 如何获取外部页面的内容作为javascript对象?

标签 javascript json fetch

所以我知道有很多方法可以将外部页面的内容作为字符串获取(例如使用 PHP),但是有没有办法将其作为 javascript/JSON 对象(例如 DOM Window 对象)获取,所以我能轻易操纵它吗?我在想也许可以使用 iframe,但一如既往,同源政策适用。我觉得这可能无法通过设计实现,但我有兴趣尝试一下。有没有人对此有创造性的解决方案?我不想使用闪光灯或 sliverlight(因为 iPhone 问题)。

最佳答案

唯一的方法是通过您的服务器。公开一些 AJAX 方法以获取外部网页(或一个特定网页),并让服务器代替客户端完成这项工作。

添加:

对于PHP,你可以这样做:

  1. 创建文件getremotecontent.php
  2. 使用 file_get_contents获取您想要的 URL(在 PHP 文件中):

    $pagestr = file_get_contents('http://www.example.com/');
    
  3. 使用 json_encode将结果字符串编码为 JSON 对象。

    $pagejson = json_encode($pagestr);
    
  4. 接下来,发送适当的 header :

    header('Cache-Control: no-cache, must-revalidate');
    header('Content-type: application/json; charset=utf-8');
    
  5. 最后发送编码后的字符串内容:

    print $pagejson;
    
  6. 在 Javascript 中,向 getremotecontent.php 发出 Ajax (XHR) 请求。服务器将获取您的网页,将其编码为 JSON 格式并将其返回给您在客户端进行处理。

关于javascript - 如何获取外部页面的内容作为javascript对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8383381/

相关文章:

javascript - 如何使用 Express 后端构建具有多种布局的 Angular JS

javascript - 动态访问复杂的Javascript对象

javascript - d3.js onclick 事件使用单击时而不是绘制时的变量值

json - 如何在 Go1.9 中将 json 字符串解码为 sync.Map 而不是法线贴图?

javascript - 从自己的域获取 api 时发生 CORS 错误

javascript - 将 Raphael 论文分为 20x20 部分

python - 使用 Python 将 JSON 转换为 SQL : Suggested libraries/techniques to look into?

javascript - JSON 解析不解析字符串(JSON 中位置 0 处出现意外标记 D)

node.js - 应用程序在 Node "Too much data to fetch"中使用 Telegram Api 崩溃

javascript - 如何使用 fetch().then() 获取响应正文