这是我正在尝试的请求: 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。
答案 0 :(得分:1)
将dataType
替换为'jsonp'
('json-p'
未定义)。
=== UPDATE ===
也许您必须将Authorization: AuthSub token="AUTHORIZATION_TOKEN"
添加到headers
参数,或者您应该测试http://...
而不是https://...
?
答案 1 :(得分:0)
发现用JQuery AJAX进行跨域POST / DELETE请求是不可能的(但GET请求是可以的)。我如何解决这个问题是向我的服务器发送请求以执行Youtube DELETE请求。