微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 对youtube oembed调用的JSONp请求的响应给出“无效标签”错误

我正在使用oembed对youtube进行JSONp调用,并且响应firebug会出现“invalid label”错误

这是我的代码

site = "www.youtube.com";
url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("http://"+site+"/oembed?callback=?",{"format":"json","url":url},function(data){
    alert("hello:\n"+data);
    alert(data.provider_url);
});

任何人遇到oembed jsonp请求的类似问题?

解决方法

问题

YouTube API不支持JSONP – 请参阅:

> Issue 4329: oEmbed callback for JSONP.

不需要服务器端代理,也不需要API密钥.

代替:

var url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("http://www.youtube.com/oembed?callback=?",{"format": "json","url": url},function (data) {
    alert("hello:\n"+data);
    alert(data.provider_url);
});

试试这个,使用Noembed服务:

var url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("https://noembed.com/embed?callback=?",function (data) {
    alert("hello:\n" + data);
    alert(data.provider_url);
});

作为奖励,当您将网址更改为以下内容时,这也适用于Vimeo链接

var url = "https://vimeo.com/45196609";

和许多其他supported sites.

演示

请参阅JS fiddle上的DEMO.

也可以看看

另见这些问题:

> Youtube Video title with API v3 without API key?
> Get Youtube information via JSON for single video (not feed) in Javascript

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐