使用jquery api从youtube获取数据不起作用

时间:2011-01-28 04:58:06

标签: jquery youtube

我正在尝试使用jquery api get()和getJSON()获取一些youtube视频数据,但我没有得到回复。

$.get('http://gdata.youtube.com/feeds/api/videos/eGfAj9ZJymo',
    function(data) {
        alert('data loaded');
    });

我也尝试使用getJSON函数,我得到了相同的结果,没有。

但我测试了这个例子http://jsfiddle.net/FzejW/,并且确实有效。

1 个答案:

答案 0 :(得分:1)

如果您注意到,您提供的jsFiddle example在其查询字符串中包含callback=?参数。这会触发jQuery使用JSONP而不是JSON。

您的代码无效的原因可能是same origin policy:您无法使用XHR从其他来源(协议+子域+域+端口)获取数据。但是你可以做JSONP只是因为JSONP是通过<script>标签完成的,并且不受同一原始政策的约束。

http://api.jquery.com/jQuery.getJSON/

  

如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。有关更多详细信息,请参阅$ .ajax()中有关jsonp数据类型的讨论。

尝试在您的请求网址中加入callback=?,看看它是否有帮助......