2

誰かがこのプロセスのいずれかに光を当てることができれば、それは素晴らしいことです. これが取引です。Hulu ビデオの URL (例: 「www.hulu.com/watch/154344」) を指定して、Javascript (w/jQuery で問題ありません) を使用して埋め込み URL (つまり、「http://www.hulu 」) を取得できるようにしたいと考えています。 .com/embed.html?eid=wvqxnyjrtho0a6osltsuig ')。

また、ご存知のように、私は localhost の開発環境で作業しています。

これを行う最も簡単な方法は、oembed サービスを使用することだと思います。Hulu は、 ombed ページで実演されている oembed サービスを提供しています。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 に答える