Instagram API。 XMLHttpRequest 无法加载 URL。预检响应具有无效的 HTTP 状态代码 405

Instagram API. XMLHttpRequest cannot load URL. Response for preflight has invalid HTTP status code 405

我在使用 API 方面还很陌生,我在使用 Instagram 的新功能时遇到了问题 api。

对于不喜欢的功能,文档说明使用删除方法,但我一直收到错误消息:XMLHttpRequest cannot load URL. Response for preflight has invalid HTTP status code 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 方法和 "delete" 作为参数发送请求的问题。然后它看起来像这样:

$.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