Youtube API DELETE播放列表JQuery AJAX请求作为选项请求发送

时间:2012-04-23 05:46:19

标签: jquery youtube-api

这是我正在尝试的请求: https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists#Deleting_a_playlist

这是失败的请求:

$.ajax( {
    dataType : 'json-p', 
    type : 'DELETE', 
    url : 'https://gdata.youtube.com/feeds/api/users/default/playlists/' + playlist_id   + '?access_token=' + hash_values_json.access_token + '&alt=json', 
    headers : {
       'Access-Control-Allow-Origin': '*', 
       'contentType': "application/atom+xml", 
       'GData-Version': '2', 
       'X-GData-Key': 'key=' + dev_Key }, 
   success : function(response) {
             }, 
   error : function() {
       alert("Delete of playlist failed."); }
   }
);

以下是Chrome-Tools的反馈,表明请求是作为OPTIONS请求发送的,并提供了更多信息: http://imgur.com/2UvIz,FQW75#0

在javascript控制台中,我收到以下错误: 选项https://gdata.youtube.com/feeds/api/users/default/playlists/760354511254461C?access_token=ya29.AHES6ZS51Dqs8F8CwkWq23LgevXCD7tWSJLVCLEBxEW22a2zNSY8OCxr 405(方法不允许) XMLHttpRequest无法加载https://gdata.youtube.com/feeds/api/users/default/playlists/760354511254461C?access_token=ya29.AHES6ZS51Dqs8F8CwkWq23LgevXCD7tWSJLVCLEBxEW22a2zNSY8OCxr。 Access-Control-Allow-Origin不允许原点http://localhost:3000

2 个答案:

答案 0 :(得分:1)

dataType替换为'jsonp''json-p'未定义)。

=== UPDATE ===

也许您必须将Authorization: AuthSub token="AUTHORIZATION_TOKEN"添加到headers参数,或者您应该测试http://...而不是https://...

答案 1 :(得分:0)

发现用JQuery AJAX进行跨域POST / DELETE请求是不可能的(但GET请求是可以的)。我如何解决这个问题是向我的服务器发送请求以执行Youtube DELETE请求。