我想用跨域调用客户端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');
}
});
请帮帮我
由于
答案 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;)。