簡體   English   中英

$ http.get與AWS API Gateway

[英]$http.get with AWS API Gateway

因此,我在DynamoDB中創建了一個超基本的NoSQL DB,並使用API​​ Gateway來訪問數據。 我創建了一個非常簡單的Get請求,該請求根據ID檢索文檔。 現在,我對Angular和AWS相當陌生,因此現在有點煩惱。 我研究了不同的代碼,發現一個非常基本的角度示例,該示例運行$ http.get,並且幾乎只在窗口中顯示數據。 我的問題是,當我與任何其他API端點一起運行此角度代碼時,它工作得很好。 但是,當我對API Gateway端點運行此代碼時,沒有任何進展。 我嘗試添加一個內容類型的標頭,但這仍然什么也沒給我。 卡住了,任何幫助將不勝感激。 我敢肯定,我在API Gateway / REST調用上錯過了很明顯的東西,但是任何幫助都會很棒! 提前致謝!

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl"> 


<h1>{{myWelcome}}</h1>

</div>


<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
  $http.get("https://xyz.execute-api.us-west-2.amazonaws.com/dev/idex/0001")
 .then(function(response) {
  $scope.myWelcome = response.data;
  });
});
</script>

</body>
</html>

顯然,json應該通過H1標簽顯示,但沒有任何結果。 另外,為了安全起見,我還更改了端點URL。

首先,我強烈建議您先使用curl測試您的API,以確保它在簡單情況下能夠按預期工作,然后再嘗試通過瀏覽器從Angular調用它使其正常工作。

正如您對問題的一些評論中已經提到的那樣,您將需要為該方法啟用CORS。 啟用CORS后,請務必重新部署您的API。 詳細說明如下。

在API Gateway控制台中,選擇您的GET方法。 從“操作”下拉按鈕中,選擇“啟用CORS”。 在右下角,單擊標記為“啟用CORS並替換現有的CORS標頭”的按鈕。 完成此操作后,從“操作”下拉按鈕中選擇“部署API”以重新部署API。 (啟用CORS后,您必須再次部署。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM