Json文件不显示数据

时间:2015-11-18 12:52:10

标签: javascript json

我遇到这个问题,我尝试读取一个Json文件(与我的html页面位于同一目录中),但每当我运行该应用程序时,都会显示this. (This is my html page - code behind)

.jSON文件 -

[
    { "_id":"1", "description":"Samsung Note 4", "price":899, "image": "samsung-note4.png", "platform":"Android Jellybean" }, 
    { "_id":"2", "description":"iPhone 6", "price":1028, "image": "iphone6.png", "platform":"iOS 8" }, 
    {"_id": "3","description": "HTC One (M8)","price": 768,"image": "htc-one.png","platform": "Windows 8"}
]


这是我的JS文件 -

App.controller('ProductController', function($scope, $http){

   $http.get('products.json')
   .then(function(res){
      $scope.products = res.data;                
    });

    $scope.selectProduct = function (id) {
        $scope.product = _.where($scope.products, {_id: id})[0];
    }
});

我不知道为什么我无法获取jSON文件中的数据。任何可能的原因?

2 个答案:

答案 0 :(得分:0)

这部分需要纠正:

.then(function(res){
      $scope.products = res;                
    });

因为res是解析的JSON数据。无需使用res.data

答案 1 :(得分:0)

在ng-repeat

中的'product'中尝试小写p
<li ng-repeat="product in products" >
 {{ product.image }}
在控制器中

,试试这个:

.when(function(data){
  $scope.products = data;
});

响应对象具有以下属性:

  • data - {string | Object} - 用。转换的响应体 变换函数。
  • status - {number} - 响应的HTTP状态代码。
  • headers - {function([headerName])} - Header getter function。
  • config - {Object} - 用于的配置对象 生成请求。
  • statusText - {string} - 响应的HTTP状态文本。