【问题标题】:Consume "Let's Be Trends" API via jQuery?通过 jQuery 使用“Let's Be Trends”API?
【发布时间】:2011-05-30 12:20:44
【问题描述】:

在尝试使用此 API 时必须忽略一些事情。我目前的尝试如下,但我没有收到 JSON 警报。我错过了什么?

http://jsbin.com/uquku4/3/edit

【问题讨论】:

    标签: jquery ajax api cross-domain jsonp


    【解决方案1】:

    由于浏览器中的origin policy相同,所以不能使用Ajax请求跨域调用。

    您可以使用 JSONP(如果网站支持),否则您可能需要在服务器上进行。

    Ajax Cross Domain Calls

    【讨论】:

    • 好的,谢谢您的回复。因此,假设我将其更新为 JSONP 请求。难道不能通过 JSONP 消费这个网站吗? jsbin.com/uquku4/6/edit
    • 这取决于您调用的网站是否支持 JSONP。例如,在 jQuery 文档 Flickr 中支持它:api.jquery.com/jQuery.getJSON。但我不知道letsbetrends.com 是否会(我在谷歌上快速搜索并没有找到任何说他们做的事情)。
    • 既然他们不支持 JSONP,我还有其他客户端选项来检索数据吗?
    • 可能不是,JSONP 依赖于以特定格式提供数据的服务器才能工作(将 JSON 数据包装在函数调用中)。除非该服务可以执行类似的操作,否则您将无法评估使用 JSONP 脚本技巧传回的数据。
    • 知道了……他们不支持 JSONP 似乎很奇怪。试图理解为什么做出这个决定,因为它显然限制了可以使用他们服务的人数......
    【解决方案2】:
    <html>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                var url = 'http://api.whatthetrend.com/api/v2/trends.json?callback=?'
                jQuery.getJSON(url, function (data) {
                    console.info(data);
                });
            });
        </script>
    </head>
    </html>
    

    【讨论】:

    • 感谢您的回答,但这是一个完全不同的 API...我想使用 Lets Be Trends API...
    • 为什么必须使用“Lets Be Trends” API? “What The Trend” API 似乎可以解决您的根本问题 - 您需要在客户端上使用 Twitter 趋势。
    • 同意...但是 Lets Be Trends 有几个不同的属性,它们返回了我所追求的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    相关资源
    最近更新 更多