我对 API 的使用还很陌生,但我在使用 Instagram 的新 API 时遇到了问题。
对于不喜欢的函数,文档规定使用删除方法,但我不断收到错误:XMLHttpRequest 无法加载 URL。预检响应具有无效的 HTTP 状态代码 405。
有趣的是,当我用curl尝试完全相同的事情时,它起作用了。
例如,这是一种工作方法:curl -X DELETE https://api.instagram.com/v1/media/{media-id}/likes?access_token=ACCESS_TOKEN
但是如果我尝试将它与 JavaScript 一起使用
if( user_has_liked ){
$.ajax({
crossDomain: true,
url: "https://api.instagram.com/v1/media/"+ photoId +"/likes?access_token=" + ACCESS_TOKEN,
method: 'DELETE',
success: function(data){
response = data.data;
document.getElementById(photoId).className = "fa fa-heart-o";
document.getElementById(photoId).onClick = function(){
subscribe(photoId, false);
}
}
});
}
我得到的只是 405 错误。
我尝试过启用 CORS,但似乎都有效
如果有人能帮助我解决这个问题,我将非常感激。
非常感谢!
最佳答案
我解决了这个问题,使用 POST 方法发送请求并像参数一样“删除”。然后它看起来像这样:
$.ajax({
url: "https://api.instagram.com/v1/media/"+ photoId +"/likes?access_token=" + ACCESS_TOKEN,
method: 'POST',
data: {_method: 'delete'},
success: function(data){
console.log(data);
}
});
字体: http://laravel.io/forum/02-20-2014-sending-a-delete-request-via-ajax
关于javascript - Instagram API。 XMLHttpRequest 无法加载 URL。预检响应具有无效的 HTTP 状态代码 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582419/