繁体   English   中英

如何使用Angular js从API获取数据

[英]how to fetch Data from API using Angular js

我正在一个项目中,我需要从API提取数据并使用Angularjs将其显示在HTML页面上

API向我返回了类别详细信息。 这是我的API

http://naazexpress.com/category.php

这是我的angularjs代码

    var app =   angular.module('appControllers', [])
app.controller('ProductCtrl', function($scope, srvShareData,$http) {
 // alert('product Controller');
  $http.get("http://naazexpress.com/category.php")
    .then(function (response) {
      $scope.data  = response.data.children;
       console.log(response);
     });
    console.log('aa');
   // alert($scope.data);
  $scope.sharedData = srvShareData.getData();
  console.log($scope.sharedData);
});


app.service('srvShareData', function($window) {
        var KEY = 'App.SelectedValue';
       // alert('ssss');

        var addData = function(newObj) {
            var mydata = $window.sessionStorage.getItem(KEY);
            console.log(mydata);
            if (mydata) {
                mydata = JSON.parse(mydata);
            } else {
                mydata = [];
            }
            mydata = newObj;
            console.log(mydata);
           // mydata.push(newObj);
            $window.sessionStorage.setItem(KEY, JSON.stringify(mydata));
        };

        var getData = function(){
            var mydata = $window.sessionStorage.getItem(KEY);
            if (mydata) {
                mydata = JSON.parse(mydata);
            }
            return mydata || [];
        };

        return {
            addData: addData,
            getData: getData
        };
    });

我正在我的HTML页面中实现它

这是我的HTML页面

<div id="login-page" class="row" ng-app="starter">
<div class="col s12 z-depth-6 card-panel">
  <form class="login-form" id="login">
    <div class="row">
      <div class="input-field col s12 center">
        <img src="http://naazexpress.com/skin/frontend/default/jm_casual/images/logo.png" alt="" class="responsive-img valign profile-image-login">
        <p class="center login-form-text">Seller - NaazExpress</p>
      </div>
    </div>
    <div class="input-field col s12 m6" ng-controller="ProductCtrl">
    <ul  ng-repeat="item in data">
      <li>{{item.name}}</li>
    </ul></div>
</div></div>

当我运行此程序时,API不返回任何内容。 代码中有什么问题吗? 请帮忙

尝试这个。

  $http.get("http://naazexpress.com/category.php")
    .then(function (response) {
      $scope.data  = response.data.children;
       console.log(response.data);
     });

您的回应没有财产“孩子”

这是响应,它具有属性“ category”,然后此“ category”具有“ children”

{"category":{"category_id":"1","parent_id":"0","name":"Root Catalog","is_active":null,"position":"0","level":"0","children":[{"category_id":"2","parent_id":"1","name":"Default Category","is_active":"1","position":"1","level":"1","children":[{"category_id":"3","parent_id":"2","name":"New arrivals","is_active":"1","position":"1","level":"2","children":[{"category_id":"10","parent_id":"3","name":"New","is_active":"1","position":"2","level":"3","children":[]},{"category_id":"11","parent_id":"3","name":"Tops","is_active":"1","position":"3","level":"3","children":[]},{"category_id":"12","parent_id":"3","name":"Bottoms","is_active":"1","position":"4","level":"3","children":[]},{"category_id":"13","parent_id":"3","name":"Denim","is_active":"1","position":"5","level":"3","children":[]},{"category_id":"14","parent_id":"3","name":"Outerwear","is_active":"1","position":"6","level":"3","children":[]},{"category_id":"15","parent_id":"3","name":"Shoes","is_active":"1","position":"7","level":"3","children":[]},{"category_id":"16","parent_id":"3","name":"Jackets","is_active":"1","position":"8","level":"3","children":[]},{"category_id":"17","parent_id":"3","name":"Accessories","is_active":"1","position":"9","level":"3","children":[]}]},{"category_id":"4","parent_id":"2","name":"Women","is_active":"1","position":"2","level":"2","children":[{"category_id":"18","parent_id":"4","name":"New","is_active":"1","position":"1","level":"3","children":[]},{"category_id":"19","parent_id":"4","name":"Tops","is_active":"1","position":"2","level":"3","children":[]},{"category_id":"20","parent_id":"4","name":"Bottoms","is_active":"1","position":"3","level":"3","children":[]},{"category_id":"21","parent_id":"4","name":"Denim","is_active":"1","position":"4","level":"3","children":[]},{"category_id":"22","parent_id":"4","name":"Outerwear","is_active":"1","position":"5","level":"3","children":[]},{"category_id":"23","parent_id":"4","name":"Shoes","is_active":"1","position":"6","level":"3","children":[]},{"category_id":"24","parent_id":"4","name":"Jackets","is_active":"1","position":"7","level":"3","children":[]},{"category_id":"25","parent_id":"4","name":"Accessories","is_active":"1","position":"8","level":"3","children":[]}]},{"category_id":"5","parent_id":"2","name":"Men","is_active":"1","position":"3","level":"2","children":[]},{"category_id":"6","parent_id":"2","name":"Accessories","is_active":"1","position":"4","level":"2","children":[]},{"category_id":"7","parent_id":"2","name":"Sale","is_active":"1","position":"5","level":"2","children":[]},{"category_id":"26","parent_id":"2","name":"Men2","is_active":"1","position":"6","level":"2","children":[]}]}]}}

所以试试这个

response.data.category.children;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM