我已經創建了一個在AWS上調用lambda函數的API網關。爲了得到它的鏈接是:即使啓用CORS,AJAX似乎也無法獲取AWS API網關
https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation
點擊它應該返回比6000我想使用Javascript功能來獲得API更大一些,我的理解是,我需要使用AJAX來做到這一點。所以,我有以下的javascript(jQuery的進口3.1.1):
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url: "https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation",
headers: {"Content-Type": "text/json"},
type: "GET",
success: function() { alert('Success!'); }
});
});
});
這並不是因爲跨域的東西工作,所以我的理解是我需要啓用CORS。所以,我按照http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html中的說明操作。我有
Access-Control-Allow-Origin*: '*'
Access-Control-Allow-Headers: 'Content-Type'
我的理解是源可以是任何域,唯一需要包含的頭是'Content-Type'。但是,當我點擊我的按鈕來觸發此事件時,我的控制檯中出現以下錯誤。
XMLHttpRequest無法加載 https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation。 對預檢請求的響應未通過訪問控制檢查:否 請求的 資源上存在「訪問控制 - 允許來源」標頭。原因'http:// ****'因此不被允許訪問。該 響應了HTTP狀態代碼現在403
,我可以使用httr
包來自R調用API,所以我知道它可以從至少一些系統調用。
我在做我的AJAX請求或我的API有什麼問題?