2016-04-12 86 views
1

我在使用API​​方面很新穎,而且我對Instagram的新api有問題。Instagram API。 XMLHttpRequest無法加載URL。預檢的響應具有無效的HTTP狀態代碼405

對於不喜歡的功能,文檔狀態使用delete方法,但我不斷收到一個錯誤:XMLHttpRequest cannot load URL. Response for preflight has invalid HTTP status code 405.

有趣的是,當我嘗試用捲曲完全一樣的東西,它的工作原理。

例如,這是一個工作方法: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,但它似乎工作,要麼

我會很感激,如果有人可以給我一隻手搭在此。

非常感謝!

+0

「我試着讓CORS,但它似乎工作,要麼」 - 如何?你是否爲Instagram工作,並有能力將代碼部署到他們的API服務器? – Quentin

回答

1

我解決了這個問題,使用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); 
    } 
}); 

現在我不知道這是否是對的Instagram的API中的錯誤或該解決方案僅僅是一個權宜之計。不管怎樣,謝謝。

字體:http://laravel.io/forum/02-20-2014-sending-a-delete-request-via-ajax

相關問題