簡體   English   中英

從AngularJS中的REST API訪問數據

[英]Accessing data from a REST API in AngularJS

我有來自elasticsearch的REST API。 我想檢索特定字段的數據。 也就是說,我想在“性別”字段中檢索數據。 我所做的是,我已經按如下方式使用了AngularJS中的rest服務。 但是瀏覽器上沒有任何內容。 有人可以幫助實現我想要顯示的內容嗎?

angular.module("view.index", ['ngRoute'])
.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/menuIndex/', {
        templateUrl: 'view-index/template/index.html',
        controller: 'NewController',
        controllerAs: 'newCtrl',
    });
}])

.controller('NewController', ['$timeout', 'overlayMessage', '$location', 'userInformation', '$http', '$scope','menuService', function ($timeout, overlayMessage, $location, userInformation, $http, $scope, menuService) {
    var myCtrl = this;


   myCtrl.Form = {};


   $http.get('http://admin:admin@localhost:9200/index1/_search?_source=Gender').
        success(function(data) {
            myCtrl.json = data;

        });
    }]);

GET API http://admin:admin@localhost:9200/index-data/_search?_source=Gender我返回一個json主體,如下所示:

{
  "took": 17,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 30003,
    "max_score": 1,
    "hits": [
      {
        "_index": "index1",
        "_type": "tbl",
        "_id": "1",
        "_score": 1,
        "_source": {
          "Gender": "Female"
        }
      },
      {
        "_index": "index1",
        "_type": "tbl",
        "_id": "2",
        "_score": 1,
        "_source": {
          "Gender": "Male"
        }
      }

在前端,我想像這樣訪問“性別”字段中的數據:

    <div ng-controller="menuNsmCtrl">   
        <div ng-repeat="json in json">
            <p>The ID is {{json.Gender}}</p>    
        </div>
    </div>

首先使用, then使用success捕獲數據。 自從有角度的版本1.4起,不推薦使用success

$http.get('http://admin:admin@localhost:9200/index1/_search?_source=Gender').
        then(function(response) {
            myCtrl.json = response.data;

        });
}]);

現在,由於您使用controllerAs語法,因此您還需要在html中使用引用變量

<div ng-controller="NewController as myCtrl">   
        <div ng-repeat="json in myCtrl.json.hits.hits">
            <p>The ID is {{json['_source'].Gender}}</p>    
        </div>
</div>

暫無
暫無

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

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