【问题标题】:getJSON + reddit api — how to bite it?getJSON + reddit api——如何咬它?
【发布时间】:2012-03-27 18:19:35
【问题描述】:

我想在我的 div 中附加来自 subreddit 的第一个永久链接。我试过关注 jQuery 的文档、Smashing Magazine 的文章和 reddit 的 github,但没有任何效果。请帮助我了解如何执行此操作。

jquery:

$(document).ready(function(){
        $.getJSON("api.reddit.com/r/aww/.json", function(json){
           $(".slodziaki").append("<p>Permalink</p>"+ json.data.children.data[0].permalink)'         
        });
});

HTML:

<html>
    <head>
        <meta charset="utf-8">
        <title>Słodziaki.</title>
        <script>

        </script>
    </head>
    <body>
        <div class="slodziaki">
            Reddit api test.
        </div>
    </body>
</html>

jsFiddle:http://jsfiddle.net/AdVS3/2/

【问题讨论】:

标签: javascript jquery json api


【解决方案1】:

您的想法是对的,但大多数浏览器不允许您访问api.reddit.com,因为XSS protectionSame Origin Policy。另一种选择是通过服务器端脚本使用 cURL 或类似方法来提取 JSON,然后 jQuery 将从本地服务器访问该资源。如果您提供您的脚本语言,我可以提供更多帮助。

幸运的是,这对于 PHP 来说非常简单。你有quite a few options,但我建议从该页面开始file_get_contents()。如果您正在寻找性能提升,您应该探索那里也提到的cURL 选项。相当直截了当,它所做的只是转到指定的 URL (api.reddit.com/r/aww/.json) 并在本地显示它。

如果您要将其放入名为 aww.php 的文件中,那么您只需在 .getJSON 函数中调用 aww.php

【讨论】:

  • 非常感谢您的回复。这很有趣,因为以前我认为我可以使用我可以访问的任何东西(就像 iframe 一样),但你已经证明我错了,我很感激。不幸的是,我是一名前端人员,对服务器端语言一无所知。但是我非常想完成我的项目,以至于我渴望学习一些脚本语言的基础知识,我当前的网络服务器只提供 PHP(不打算学习它)所以这就是我现在要坚持的。请向我提供有关如何做到这一点的技术。提前致谢。
  • 您可以使用 Yahoo YQL 作为代理来获取数据,只需几分钟即可在他们的沙盒控制台中进行设置
  • 脚本无法向其他域发送请求或读取响应与 XSS 无关。
  • 我找到了另一个答案——JSONP 是一种跨域 AJAX,它可以在任何地方使用。
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-04-22
  • 2013-02-07
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多