【问题标题】:Get the value from json url从 json url 获取值
【发布时间】:2016-09-23 19:07:33
【问题描述】:

我正在使用 AngularJS 开发一个简单的应用程序,我想动态获取价格的价值,我的意思是从 json 数据中获取价格。这可能吗!

这是我的 data.json

{
    "prix": {
        "prix_diesel": "8.54",
        "prix_essence": "10.30",
        "prix_aditive": "0.00"
    }
}

这是我的控制器

angular.module("myApp",['zingchart-angularjs']).controller('MainController', ['$scope', '$http', function($scope, $http) {

  $scope.cities =[{
    "name": "city A",
        "elements": [{
          "id": "c01",
          "name": "name1",
          "price": "15",//I want to get this price from the data.json. Get it from the value of prix_diesel attribute 
          "qte": "10" //I want to get this price from the data.json. Get it from the value of prix_essence attribute 
        }, {
          "id": "c02",
          "name": "name2",
          "price": "18",
          "qte": "11"
        }, {
          "id": "c03",
          "name": "name3",
          "price": "11",
          "qte": "14"
        }],
        "subsities": [{
          "name": "sub A1",
          "elements": [{
            "id": "sub01",
            "name": "nameSub1",
            "price": "1",
            "qte": "14"
          }, {
            "id": "sub02",
            "name": "nameSub2",
            "price": "8",
            "qte": "13"
          }, {
            "id": "sub03",
            "name": "nameSub3",
            "price": "1",
            "qte": "14"
          }]
        }, {
          "name": "sub A2",
          "elements": [{
            "id": "ssub01",
            "name": "nameSsub1",
            "price": "1",
            "qte": "7"
          }, {
            "id": "ssub02",
            "name": "nameSsub2",
            "price": "8",
            "qte": "1"
          }, {
            "id": "ssub03",
            "name": "nameSsub3",
            "price": "4",
            "qte": "19"
          }]
        }, {
          "name": "sub A3",
          "elements": [{
            "id": "sssub01",
            "name": "nameSssub1",
            "price": "1",
            "qte": "11"
          }, {
            "id": "sssub02",
            "name": "nameSssub2",
            "price": "2",
            "qte": "15"
          }, {
            "id": "sssub03",
            "name": "nameSssub3",
            "price": "1",
            "qte": "15"
          }]
        }]
      }, {
        "name": "city B",
        "elements": [{
          "id": "cc01",
          "name": "name11",
          "price": "10",
          "qte": "11"
        }, {
          "id": "cc02",
          "name": "name22",
          "price": "14",
          "qte": "19"
        }, {
          "id": "cc03",
          "name": "name33",
          "price": "11",
          "qte": "18"
        }]
      }, {
        "name": "city C",
        "elements": [{
          "id": "ccc01",
          "name": "name111",
          "price": "19",
          "qte": "12"
        }, {
          "id": "ccc02",
          "name": "name222",
          "price": "18",
          "qte": "17"
        }, {
          "id": "ccc03",
          "name": "name333",
          "price": "10",
          "qte": "5"
        }]
      }]

  $scope.extractSubsities = function(itemSelected) {
    if(itemSelected && itemSelected.elements){
        $scope.data = itemSelected.elements;
    }

  }

 }]);

我在我的 plunkr 中设置了这个:plunkr

我搜索并发现如果我想从 URL 获取数据,我需要一个 XMLHttpRequest(对于 Angular,我可以使用 $http.get)。请问您有什么想法吗!

【问题讨论】:

    标签: javascript angularjs json


    【解决方案1】:

    如果我正确理解您的问题,您需要:

    $http({method: 'GET', url: 'data.json'})
    .then(function(data) {
        if($scope.cities && $scope.cities[0] && $scope.cities[0].elements && $scope.cities[0].elements[0]){
            $scope.cities[0].elements[0].price = data.data.prix.prix_diesel;
            $scope.cities[0].elements[0].qte = data.data.prix.prix_essence;
        }
    });
    

    plunkr

    【讨论】:

    • success 已弃用...您不建议使用它
    • 但是城市 A 的价格值仍然是 15 我想从 data.json 和 prix_diesel 的值中获取它的值(8.54)
    • @charlietfl - 谢谢,我不知道;
    • 我想从 data.json 中获取 price 的值,我需要从 dat.json 中自动获取值。我的意思是得到 8.54 而不是 15
    • @Abderrahim 我的错
    【解决方案2】:

    您的标记:

    <div ng-repeat="item in cities">
    Price: {{item.cities.price}}<br />
    Quantity: {{item.cities.qte}}</div>
    

    【讨论】:

    • 也许你不明白我的问题,也许我没有解释清楚,谢谢你的回答
    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2023-03-04
    • 2020-08-19
    • 1970-01-01
    相关资源
    最近更新 更多