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

标签 javascript jquery ajax rest instagram-api

我对 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/

相关文章:

jquery - 如何获取单击的单选按钮的值?

jquery - 将 JSON 作为字符串发布

javascript - jquery 输入字段聚焦除 div

javascript - 将组合框中的第一个值设置为空

javascript - JQuery 等待 Ajax 响应

javascript - 如何在 jquery 的 ajax 自动完成中编辑此代码

javascript - 在 AJAX 调用后附加的 span 元素上未触发 onclick 事件

javascript - 动态加载/卸载 javascript 和 css 样式表有优势吗?

javascript - 让我的表单正确输出

javascript - DocumentDB 的 Node js 参数化查询