2

如果有人能阐明这个过程中的任何一个,那就太好了。这是交易。鉴于 Hulu 视频 URL(例如“www.hulu.com/watch/154344”),我希望能够使用 Javascript(w/jQuery 很好)来检索嵌入 url(即“ http://www.hulu .com/embed.html?eid=wvqxnyjrtho0a6osltsuig ')。

另外,正如您所知,我正在本地主机上的开发环境中工作。

在我看来,最简单的方法是使用 oembed 服务。Hulu 提供 oembed 服务,在 ombed 页面上有演示。纯粹基于 oembed 页面上显示的示例,此 eombed 信息的 url 格式应为 ' http://www.hulu.com/api/oembed.xml?url=http%3A//www.hulu.com/手表/154344 '。如果我在浏览器中打开它,那就行了!

所以我尝试像这样运行Javascript:

var url = 'http://www.hulu.com/api/oembed.xml?url=http%3A//www.hulu.com/watch/154344';

$.getJSON(url, function(data) {
    alert(data.embed_url);
});

但是,这是行不通的。我收到一条错误消息:

XMLHttpRequest cannot load http://noembed.com/embed?url=http%3A//www.hulu.com/watch/154344. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

所以我又查了一下。看来我需要使用 JSONp。我还阅读了有关 JSONp 的更多信息。看来启用 JSONp 所需要做的就是将 URL 格式更改为此,callback=data在末尾添加:http://www.hulu.com/api/oembed.xml?url=http%3A//www。 hulu.com/watch/154344&callback=data。没有骰子。它仍然给我同样的错误。

我究竟做错了什么?

4

1 回答 1

2

在 jQuery 中使用 JSONP 时,不要给回调命名。使用 a?并且 jQuery 会用你的名字替换它。

var url = 'http://www.hulu.com/api/oembed.xml?url=http%3A//www.hulu.com/watch/154344&callb‌​ack=?';
于 2014-04-21T19:39:54.247 回答