Как вызвать данные JSON через URL-адрес в Angular JS

Практикую веб-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>

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

@LoneWolf отлично отображается в консоли, но я хочу отображать только заголовки на веб-странице

Roja Rose 07.06.2018 14:56
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
954
3

Ответы 3

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

object.resultList.result.0-24.title

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

http://jsonviewer.stack.hu/

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

У полученного вами 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>
<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">
    <pre>
      {{magazine | json}}
    </pre>
  </div>

</body>

</html>

// В коде контроллера Angular var app = angular.module ("мое приложение", []);

app.controller ("europepmc", ['$ scope', '$ http', function ($ 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

ваш magazine не определен, так как вы заполняете только magazineList

Aleksey Solovey 07.06.2018 15:16

Другие вопросы по теме