跨域Ajax请求 - youtube

时间:2014-07-18 13:31:31

标签: jquery ajax request cors

我想用跨域调用客户端ajax请求以获取以下URL:

http://www.youtube.com/get_video_info?video_id=IZ-_3Ug3wqU

$.ajax({
    type: "GET",
    url: "http://youtube.com/get_video_info",
    data: { video_id: "IZ-_3Ug3wqU" },
    dataType: "text",
    success: function (response) {
        alert('success');
    },
    error: function (error) {
        alert('error');
    },
    complete: function () {
        alert('complete');
    }
});

请帮帮我

由于

2 个答案:

答案 0 :(得分:1)

我认为访问此数据的正确方法是通过专门为此目的创建的YouTube API

请求看起来如下所示:

https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=YOUR_API_KEY
 &part=snippet,contentDetails,statistics,status

答案 1 :(得分:0)

据我所见,请求没问题。

您是否通过添加Access-Control-Allow-Origin标题来允许CORS?

如果你没有,请在.htaccess中添加

<IfModule mod_headers.c>   
        Header add Access-Control-Allow-Origin "http://youtube.com"
</IfModule> 

编辑:

唯一的良好做法&#34;我认为这样做的方法是使用标题,您可以检查http://enable-cors.org/server_aspnet.html并查看是否有任何此配置有效。

其他方式可能是使用服务器中的YoutubeAPI以这种方式直接访问此信息,然后使用ajax调用调用此脚本(脚本作为&#34; bridge&#34;)。