как вызвать данные JSON через URL в Angular JS - PullRequest
0 голосов
/ 07 июня 2018

Я практикую веб-API через JSON.

В используемом URL-адресе (https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json), есть поля типа ID, titles и т. Д. Я хочу назвать заголовок ипокажите его. Ниже приведен мой код:

app.controller("europepmc", ['$scope', '$http', function($scope, $http) {
  $http.get('https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json')
    .success(function(data) {
      $scope.magazine = data;
    });
}]);

И мой контроллер связывается с html-датой следующим образом:

<div ng-controller="europepmc">
  <p>The magazine title is  is {{magazine.title}}</p>
</div>

После успешной разработки этого кода я невозможность получить титул.

Ответы [ 3 ]

0 голосов
/ 07 июня 2018

JSON, который вы получаете, имеет больше свойств, через которые вы можете пройти, прежде чем вы сможете достичь title из результатов.Сначала вы должны добавить .resultList.result.Затем отобразите этот массив с ng-repeat.

Вот демоверсия:

var app = angular.module("pmc", []);
app.controller("europepmc", ['$scope', '$http', function($scope, $http) {
  $http.get('https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json')
    .then(function(res) {
      $scope.magazines = res.data.resultList.result;
    });
}]);
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body>

  <div ng-app="pmc" ng-controller="europepmc">

    <div ng-repeat="magazine in magazines">
      {{magazine.title}}
      <hr>
    </div>

  </div>

</body>

</html>

Демонстрация для просмотра всего ответа:

var app = angular.module("pmc", []);
app.controller("europepmc", ['$scope', '$http', function($scope, $http) {
  $http.get('https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json')
    .then(function(res) {
      $scope.magazine = res.data;
    });
}]);
<!DOCTYPE html>





  
    
      {{magazine | json}}
    
0 голосов
/ 07 июня 2018

// В коде углового контроллера var app = angular.module ("myApp", []);

app.controller ("europepmc", ['$ scope', '$ http', функция($ scope, $ http) {

    $http({
        method: 'GET',
        dataType: 'json',
        url: 'https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=malaria&format=json',

    }).then(function (success) {
        $scope.magazineList = success.data.resultList.result;
    }, function (error) {
        alert(error);
    });

}]);

// HTML-код страницы Используйте ng-repeat для просмотра цикла mg в magazineList, а затем используйте mg.title

0 голосов
/ 07 июня 2018

у вашего объекта Json есть свойство title, но немного глубже:

object.resultList.result.0-24.title

, чтобы посмотреть на него лучше, вставьте сюда свой Json:

http://jsonviewer.stack.hu/

и проверьте вкладку просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...